{"record":{"id":"d9df45520330af5b","repo":"conductor-oss/conductor","slug":"failed-to-lookup-workflowid-from-taskid-s","errorCode":null,"errorMessage":"Failed to lookup workflowId from taskId: %s","messagePattern":"Failed to lookup workflowId from taskId: (.+?)","errorType":"exception","errorClass":"TransientException","httpStatus":500,"severity":"error","filePath":"cassandra-persistence/src/main/java/com/netflix/conductor/cassandra/dao/CassandraExecutionDAO.java","lineNumber":881,"sourceCode":"                        () ->\n                                new NotFoundException(\n                                        \"Workflow with id: %s not found in data store\",\n                                        workflowId));\n    }\n\n    @VisibleForTesting\n    String lookupWorkflowIdFromTaskId(String taskId) {\n        UUID taskUUID = toUUID(taskId, \"Invalid task id\");\n        try {\n            ResultSet resultSet = session.execute(selectTaskLookupStatement.bind(taskUUID));\n            return Optional.ofNullable(resultSet.one())\n                    .map(row -> row.getUUID(WORKFLOW_ID_KEY).toString())\n                    .orElse(null);\n        } catch (DriverException e) {\n            Monitors.error(CLASS_NAME, \"lookupWorkflowIdFromTaskId\");\n            String errorMsg = String.format(\"Failed to lookup workflowId from taskId: %s\", taskId);\n            LOGGER.error(errorMsg, e);\n            throw new TransientException(errorMsg, e);\n        }\n    }\n}\n","sourceCodeStart":863,"sourceCodeEnd":885,"githubUrl":"https://github.com/conductor-oss/conductor/blob/cf7c3e4a8adfb158be778ab1ec525323c363cd3a/cassandra-persistence/src/main/java/com/netflix/conductor/cassandra/dao/CassandraExecutionDAO.java#L863-L885","documentation":"lookupWorkflowIdFromTaskId wraps DriverException in a TransientException naming the task id. The lookup reads the task_lookup table to map a task id back to its workflow id; driver-level failures are retried by the framework RetryTemplate.","triggerScenarios":"Reading task_lookup by task id fails at the driver level — read timeout, node unavailable, consistency not met.","commonSituations":"Cluster degradation during task lookups, driver pool exhaustion, mismatched read consistency and RF.","solutions":["Confirm Cassandra health and that read consistency is satisfiable.","Tune driver read timeouts and connection pool sizing.","Use the built-in retry; investigate the logged DriverException for persistent causes.","Lower read consistency if correctness permits to reduce unavailable reads."],"exampleFix":null,"handlingStrategy":"retry","validationCode":null,"typeGuard":null,"tryCatchPattern":"RetryTemplate retry = RetryTemplate.builder().retryOn(TransientException.class).maxAttempts(3).noBackoff().build();\nreturn retry.execute(ctx -> lookupWorkflowIdFromTaskId(taskId));","preventionTips":["Tune driver read timeouts for task_lookup reads.","Ensure read consistency is satisfiable by live replicas.","Monitor transient read failures during cluster topology changes."],"tags":["cassandra","persistence","transient","driver","task","retry","dao"],"backgroundTag":null,"analyzedSha":"cf7c3e4a8adfb158be778ab1ec525323c363cd3a","analyzedAt":"2026-08-14T03:33:19.897Z","schemaVersion":2},"datasetVersion":"2026-08-14T10:17:34.591Z"}