{"record":{"id":"2312096f85feced8","repo":"conductor-oss/conductor","slug":"failed-to-get-in-progress-limit-s-s-in-workflo","errorCode":null,"errorMessage":"Failed to get in progress limit - %s:%s in workflow :%s","messagePattern":"Failed to get in progress limit - (.+?):(.+?) in workflow :(.+?)","errorType":"exception","errorClass":"TransientException","httpStatus":500,"severity":"error","filePath":"cassandra-persistence/src/main/java/com/netflix/conductor/cassandra/dao/CassandraExecutionDAO.java","lineNumber":333,"sourceCode":"\n            if (!taskIds.contains(task.getTaskId()) && current >= limit) {\n                LOGGER.info(\n                        \"Task execution count limited. task - {}:{}, limit: {}, current: {}\",\n                        task.getTaskId(),\n                        task.getTaskDefName(),\n                        limit,\n                        current);\n                Monitors.recordTaskConcurrentExecutionLimited(task.getTaskDefName(), limit);\n                return true;\n            }\n        } catch (DriverException e) {\n            Monitors.error(CLASS_NAME, \"exceedsLimit\");\n            String errorMsg =\n                    String.format(\n                            \"Failed to get in progress limit - %s:%s in workflow :%s\",\n                            task.getTaskDefName(), task.getTaskId(), task.getWorkflowInstanceId());\n            LOGGER.error(errorMsg, e);\n            throw new TransientException(errorMsg);\n        }\n        return false;\n    }\n\n    @Override\n    public boolean removeTask(String taskId) {\n        TaskModel task = getTask(taskId);\n        if (task == null) {\n            LOGGER.warn(\"No such task found by id {}\", taskId);\n            return false;\n        }\n        return removeTask(task);\n    }\n\n    @Override\n    public TaskModel getTask(String taskId) {\n        try {\n            String workflowId = lookupWorkflowIdFromTaskId(taskId);","sourceCodeStart":315,"sourceCodeEnd":351,"githubUrl":"https://github.com/conductor-oss/conductor/blob/cf7c3e4a8adfb158be778ab1ec525323c363cd3a/cassandra-persistence/src/main/java/com/netflix/conductor/cassandra/dao/CassandraExecutionDAO.java#L315-L351","documentation":"Thrown by CassandraExecutionDAO.exceedsLimit when reading the in-progress count for a task's rate limit fails. DriverException during the limit lookup is wrapped in TransientException (note: cause is not attached). Reports taskDefName, taskId, and workflowInstanceId.","triggerScenarios":"Calling exceedsLimit(TaskModel) for a task whose TaskDef has a concurrentExecutionLimit set, when the SELECT against the task rate-limit table fails (Cassandra unavailable, timeout, or schema missing).","commonSituations":"Cassandra connectivity loss. task_def_rate_limit table not initialized. Coordinator timeout under contention when many tasks check the limit concurrently.","solutions":["Confirm Cassandra is reachable and the task_def_rate_limit table exists (init() ran).","Retry the exceedsLimit check — TransientException is retryable.","If the failure is persistent, temporarily verify the rate-limit config and table schema.","Attach the cause exception in the throw to improve diagnosis (it is currently omitted)."],"exampleFix":"// before\nthrow new TransientException(errorMsg);\n\n// after (preserve the cause for diagnosis)\nthrow new TransientException(errorMsg, e);","handlingStrategy":"retry","validationCode":"// Only check limit when a TaskDef with a limit is present\nif (task.getTaskDefinition().filter(td -> td.concurrencyLimit() > 0).isEmpty()) return false;","typeGuard":null,"tryCatchPattern":"try {\n    return dao.exceedsLimit(task);\n} catch (TransientException e) {\n    log.warn(\"Transient exceedsLimit check for {}; retrying\", task.getTaskId());\n    throw e;","preventionTips":["Retry TransientException on limit checks.","Confirm the task_def_rate_limit table exists.","When rethrowing, attach the cause (currently dropped) to speed diagnosis."],"tags":["cassandra","rate-limit","read","transient","persistence"],"backgroundTag":null,"analyzedSha":"cf7c3e4a8adfb158be778ab1ec525323c363cd3a","analyzedAt":"2026-08-14T03:33:19.897Z","schemaVersion":2},"datasetVersion":"2026-08-14T05:17:29.042Z"}