conductor-oss/conductor · warning · IllegalStateException

Event processing is DISABLED

Error message

Event processing is DISABLED

What it means

Thrown by AdminServiceImpl.getEventQueues when the EventQueueManager Spring bean is not present (injected as Optional and resolved to null). The event queue manager handles AMQP/SQS/kafka event processing queues. When it's not registered, the event queue inspection API cannot function. This signals that event processing subsystem is not active in this deployment.

Source

Thrown at core/src/main/java/com/netflix/conductor/service/AdminServiceImpl.java:134

     */
    public String requeueSweep(String workflowId) {
        boolean pushed =
                queueDAO.pushIfNotExists(
                        Utils.DECIDER_QUEUE,
                        workflowId,
                        properties.getWorkflowOffsetTimeout().getSeconds());
        return pushed + "." + workflowId;
    }

    /**
     * Get registered queues.
     *
     * @param verbose `true|false` for verbose logs
     * @return map of event queues
     */
    public Map<String, ?> getEventQueues(boolean verbose) {
        if (eventQueueManager == null) {
            throw new IllegalStateException("Event processing is DISABLED");
        }
        return (verbose ? eventQueueManager.getQueueSizes() : eventQueueManager.getQueues());
    }
}

View on GitHub (pinned to cf7c3e4a8a)

Solutions

  1. If event processing is needed, add the events module to the server build and configure the event queue provider (SQS, AMQP, kafka).
  2. Check for a property that enables/disables event processing and set it to true if events are required.
  3. If event processing is intentionally not deployed, remove the monitoring/tooling that queries the event queues API.
  4. Use a different monitoring approach (e.g. queue DAO metrics) when the event subsystem is absent.

Example fix

# before — event subsystem not deployed
curl http://localhost:8080/api/admin/event/queues?verbose=true
# 500: Event processing is DISABLED

# after — include the events module dependency in build.gradle
# implementation project(':conductor-amqp')  // or conductor-aws-sqs, conductor-kafka
# configure the provider in application.properties
Defensive patterns

Strategy: type-guard

Validate before calling

// Check event subsystem availability before calling the event queues API
public boolean isEventProcessingEnabled(AdminService adminService) {
    try {
        adminService.getEventQueues(false);
        return true;
    } catch (IllegalStateException e) {
        return false;
    }
}

Try / catch

try {
    Map<String, ?> queues = adminService.getEventQueues(verbose);
} catch (IllegalStateException e) {
    if (e.getMessage().contains("DISABLED")) {
        LOGGER.info("Event processing is not enabled — no event queues to report");
        return Collections.emptyMap();
    }
    throw e;
}

Prevention

When it happens

Trigger: Calling the admin API endpoint for event queues (GET /api/admin/event/queues) when the EventQueueManager bean is not on the classpath or not auto-configured. The bean is optional and its absence is tolerated at startup.

Common situations: Running a Conductor deployment that doesn't include the events module (no SQS/AMQP/kafka integration). The event subsystem is conditionally disabled via configuration. A custom server build that excluded the events module dependency. Operator checks event queues on a workflow-only deployment.

Related errors


AI-assisted analysis of conductor-oss/conductor@cf7c3e4a8a (2026-08-14). Data as JSON: /api/errors/45455975b2b77223. Report an issue: GitHub.