{"record":{"id":"ea16194b94830b05","repo":"conductor-oss/conductor","slug":"error-updating-taskdeflimit-for-task-s-s-in-wo","errorCode":null,"errorMessage":"Error updating taskDefLimit for task - %s:%s in workflow: %s","messagePattern":"Error updating taskDefLimit for task - (.+?):(.+?) in workflow: (.+?)","errorType":"exception","errorClass":"TransientException","httpStatus":500,"severity":"error","filePath":"cassandra-persistence/src/main/java/com/netflix/conductor/cassandra/dao/CassandraExecutionDAO.java","lineNumber":747,"sourceCode":"\n    @Override\n    public void addTaskToLimit(TaskModel task) {\n        try {\n            recordCassandraDaoRequests(\n                    \"addTaskToLimit\", task.getTaskType(), task.getWorkflowType());\n            session.execute(\n                    updateTaskDefLimitStatement.bind(\n                            UUID.fromString(task.getWorkflowInstanceId()),\n                            task.getTaskDefName(),\n                            UUID.fromString(task.getTaskId())));\n        } catch (DriverException e) {\n            Monitors.error(CLASS_NAME, \"addTaskToLimit\");\n            String errorMsg =\n                    String.format(\n                            \"Error updating taskDefLimit for task - %s:%s in workflow: %s\",\n                            task.getTaskDefName(), task.getTaskId(), task.getWorkflowInstanceId());\n            LOGGER.error(errorMsg, e);\n            throw new TransientException(errorMsg, e);\n        }\n    }\n\n    @Override\n    public void removeTaskFromLimit(TaskModel task) {\n        try {\n            recordCassandraDaoRequests(\n                    \"removeTaskFromLimit\", task.getTaskType(), task.getWorkflowType());\n            session.execute(\n                    deleteTaskDefLimitStatement.bind(\n                            task.getTaskDefName(), UUID.fromString(task.getTaskId())));\n        } catch (DriverException e) {\n            Monitors.error(CLASS_NAME, \"removeTaskFromLimit\");\n            String errorMsg =\n                    String.format(\n                            \"Error updating taskDefLimit for task - %s:%s in workflow: %s\",\n                            task.getTaskDefName(), task.getTaskId(), task.getWorkflowInstanceId());\n            LOGGER.error(errorMsg, e);","sourceCodeStart":729,"sourceCodeEnd":765,"githubUrl":"https://github.com/conductor-oss/conductor/blob/cf7c3e4a8adfb158be778ab1ec525323c363cd3a/cassandra-persistence/src/main/java/com/netflix/conductor/cassandra/dao/CassandraExecutionDAO.java#L729-L765","documentation":"addTaskToLimit wraps DriverException in a TransientException naming the task def and workflow instance. This maintains the task_def_limit table used for per-task-definition concurrency limiting; driver failures are retried by the framework RetryTemplate.","triggerScenarios":"Inserting a row into the task_def_limit table (when a task with a concurrencyLimit > 0 starts) fails at the driver level.","commonSituations":"Cluster instability under high concurrency-limited task throughput; driver pool exhaustion; consistency not met during a topology change.","solutions":["Ensure Cassandra is healthy and write consistency is reachable.","Tune driver pool/timeout settings in cassandra.properties.","Rely on the framework retry; inspect the logged DriverException for the underlying fault.","Confirm task definitions actually require limiting before scaling concurrency-limited tasks."],"exampleFix":null,"handlingStrategy":"retry","validationCode":null,"typeGuard":null,"tryCatchPattern":"RetryTemplate retry = RetryTemplate.builder().retryOn(TransientException.class).maxAttempts(3).noBackoff().build();\nretry.execute(ctx -> { executionDAO.addTaskToLimit(task); return null; });","preventionTips":["Right-size the driver pool for concurrency-limited task throughput.","Keep the task_def_limit table RF consistent with write consistency.","Verify task definitions genuinely need a concurrency limit before scaling them."],"tags":["cassandra","persistence","transient","driver","concurrency-limit","retry","dao"],"backgroundTag":null,"analyzedSha":"cf7c3e4a8adfb158be778ab1ec525323c363cd3a","analyzedAt":"2026-08-14T03:33:19.897Z","schemaVersion":2},"datasetVersion":"2026-08-14T05:17:29.042Z"}