{"record":{"id":"93b3ecea15c1b253","repo":"conductor-oss/conductor","slug":"error-loading-queue-s-for-task-s-error-s","errorCode":null,"errorMessage":"Error loading queue: %s, for task: %s, error: %s","messagePattern":"Error loading queue: (.+?), for task: (.+?), error: (.+?)","errorType":"exception","errorClass":"IllegalStateException","httpStatus":null,"severity":"error","filePath":"core/src/main/java/com/netflix/conductor/core/execution/tasks/Event.java","lineNumber":160,"sourceCode":"                queueName =\n                        \"conductor:\"\n                                + workflow.getWorkflowName()\n                                + \":\"\n                                + sinkValue.replaceAll(\"conductor:\", \"\");\n            } else {\n                throw new IllegalStateException(\n                        \"Invalid / Unsupported sink specified: \" + sinkValue);\n            }\n        }\n        return queueName;\n    }\n\n    @VisibleForTesting\n    ObservableQueue getQueue(String queueName, String taskId) {\n        try {\n            return eventQueues.getQueue(queueName);\n        } catch (IllegalArgumentException e) {\n            throw new IllegalStateException(\n                    \"Error loading queue:\"\n                            + queueName\n                            + \", for task:\"\n                            + taskId\n                            + \", error: \"\n                            + e.getMessage());\n        } catch (Exception e) {\n            throw new NonTransientException(\"Unable to find queue name for task \" + taskId);\n        }\n    }\n\n    Message getPopulatedMessage(TaskModel task) throws JsonProcessingException {\n        String payloadJson = objectMapper.writeValueAsString(task.getOutputData());\n        return new Message(task.getTaskId(), payloadJson, task.getTaskId());\n    }\n}\n","sourceCodeStart":142,"sourceCodeEnd":177,"githubUrl":"https://github.com/conductor-oss/conductor/blob/cf7c3e4a8adfb158be778ab1ec525323c363cd3a/core/src/main/java/com/netflix/conductor/core/execution/tasks/Event.java#L142-L177","documentation":"Thrown by Event.getQueue() when eventQueues.getQueue() throws an IllegalArgumentException. This happens when the queue name (derived from the sink) does not have a registered provider — the EventQueues.getQueue() method splits on ':' and looks up the prefix in the providers map. An unknown prefix type or a missing ':' delimiter triggers this. The error message includes the queueName, taskId, and the original exception message.","triggerScenarios":"An EVENT task sink uses a queue provider prefix that is not registered (e.g., 'kafka:' when no Kafka event queue provider is configured). The sink value lacks a ':' separator so EventQueues cannot extract the provider type. The queue name is empty after the prefix.","commonSituations":"Server deployed without the SQS/AMQP/Kafka event queue module but workflow uses that sink type. Misconfigured sink value with no colon. A sink prefix typo like 'sq:' instead of 'sqs:'.","solutions":["Ensure the event queue provider for your sink prefix is registered — include the appropriate Conductor module (e.g., conductor-aws-sqs-queue).","Use a supported sink prefix that matches a deployed provider (check available providers via EventQueues.getProviders()).","Fix the sink format to include a colon separator: 'sqs:myQueue', not 'sqsmqQueue'.","If using 'conductor:' internal queues, no external provider is needed — verify the sink starts with 'conductor:'."],"exampleFix":"// before — no SQS provider deployed\n\"inputParameters\": {\n  \"sink\": \"sqs:my-queue\"\n}\n\n// after — use internal conductor queue\n\"inputParameters\": {\n  \"sink\": \"conductor:my-queue\"\n}","handlingStrategy":"try-catch","validationCode":"// Verify the queue provider is registered before execution\nString providerType = queueName.substring(0, queueName.indexOf(':'));\nif (!eventQueues.getProviders().stream().anyMatch(p -> p.contains(providerType))) {\n    throw new IllegalStateException(\"No event queue provider for: \" + providerType);\n}","typeGuard":null,"tryCatchPattern":"try {\n    ObservableQueue queue = eventQueues.getQueue(queueName);\n} catch (IllegalArgumentException e) {\n    throw new IllegalStateException(\n        \"Queue provider not found for: \" + queueName + \" — \" + e.getMessage());\n}","preventionTips":["Ensure the required event queue provider module is deployed for your sink type.","Use supported sink prefixes that match registered providers.","Check that the sink value contains a ':' separator."],"tags":["event-task","queue","provider","illegal-state","configuration"],"backgroundTag":null,"analyzedSha":"cf7c3e4a8adfb158be778ab1ec525323c363cd3a","analyzedAt":"2026-08-14T03:33:19.897Z","schemaVersion":2},"datasetVersion":"2026-08-14T05:17:29.042Z"}