conductor-oss/conductor · error · IllegalStateException
Error loading queue: %s, for task: %s, error: %s
Error message
Error loading queue: %s, for task: %s, error: %s
What it means
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.
Source
Thrown at core/src/main/java/com/netflix/conductor/core/execution/tasks/Event.java:160
queueName =
"conductor:"
+ workflow.getWorkflowName()
+ ":"
+ sinkValue.replaceAll("conductor:", "");
} else {
throw new IllegalStateException(
"Invalid / Unsupported sink specified: " + sinkValue);
}
}
return queueName;
}
@VisibleForTesting
ObservableQueue getQueue(String queueName, String taskId) {
try {
return eventQueues.getQueue(queueName);
} catch (IllegalArgumentException e) {
throw new IllegalStateException(
"Error loading queue:"
+ queueName
+ ", for task:"
+ taskId
+ ", error: "
+ e.getMessage());
} catch (Exception e) {
throw new NonTransientException("Unable to find queue name for task " + taskId);
}
}
Message getPopulatedMessage(TaskModel task) throws JsonProcessingException {
String payloadJson = objectMapper.writeValueAsString(task.getOutputData());
return new Message(task.getTaskId(), payloadJson, task.getTaskId());
}
}
View on GitHub (pinned to cf7c3e4a8a)
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:'.
Example fix
// before — no SQS provider deployed
"inputParameters": {
"sink": "sqs:my-queue"
}
// after — use internal conductor queue
"inputParameters": {
"sink": "conductor:my-queue"
} Defensive patterns
Strategy: try-catch
Validate before calling
// Verify the queue provider is registered before execution
String providerType = queueName.substring(0, queueName.indexOf(':'));
if (!eventQueues.getProviders().stream().anyMatch(p -> p.contains(providerType))) {
throw new IllegalStateException("No event queue provider for: " + providerType);
} Try / catch
try {
ObservableQueue queue = eventQueues.getQueue(queueName);
} catch (IllegalArgumentException e) {
throw new IllegalStateException(
"Queue provider not found for: " + queueName + " — " + e.getMessage());
} Prevention
- 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.
When it happens
Trigger: 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.
Common situations: 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:'.
Related errors
- Invalid / Unsupported sink specified: %s
- Unknown queue type %s
- Unable to find queue name for task %s
- Skill registry is not available
- VectorDB not found: <vectorDBName>
AI-assisted analysis of conductor-oss/conductor@cf7c3e4a8a (2026-08-14).
Data as JSON: /api/errors/93b3ecea15c1b253.
Report an issue: GitHub.