conductor-oss/conductor · error · IllegalArgumentException

Password is null or empty

Error message

Password is null or empty

What it means

Builder.buildConnectionFactory() reads AMQPEventQueueProperties.getPassword(); if it is null or empty the Builder constructor throws. The password is set on the rabbitmq ConnectionFactory, so it is mandatory.

Source

Thrown at amqp/src/main/java/com/netflix/conductor/contribs/queue/amqp/AMQPObservableQueue.java:480

            if (StringUtils.isEmpty(hosts)) {
                throw new IllegalArgumentException("Hosts are undefined");
            }
            return Address.parseAddresses(hosts);
        }

        private ConnectionFactory buildConnectionFactory() {
            final ConnectionFactory factory = new ConnectionFactory();
            // Get rabbitmq username from config
            final String username = properties.getUsername();
            if (StringUtils.isEmpty(username)) {
                throw new IllegalArgumentException("Username is null or empty");
            } else {
                factory.setUsername(username);
            }
            // Get rabbitmq password from config
            final String password = properties.getPassword();
            if (StringUtils.isEmpty(password)) {
                throw new IllegalArgumentException("Password is null or empty");
            } else {
                factory.setPassword(password);
            }
            // Get vHost from config
            final String virtualHost = properties.getVirtualHost();
            ;
            if (StringUtils.isEmpty(virtualHost)) {
                throw new IllegalArgumentException("Virtual host is null or empty");
            } else {
                factory.setVirtualHost(virtualHost);
            }
            // Get server port from config
            final int port = properties.getPort();
            if (port <= 0) {
                throw new IllegalArgumentException("Port must be greater than 0");
            } else {
                factory.setPort(port);
            }

View on GitHub (pinned to cf7c3e4a8a)

Solutions

  1. Set the password property to a non-empty value (preferably sourced from a secret store).
  2. Confirm the secret/env backing the password is mounted before the Builder runs.
  3. Verify the property key matches AMQPEventQueueProperties.getPassword().

Example fix

# before: password missing -> 'Password is null or empty'
# (no conductor.amqp.password)

# after: set the password (from a secret in production)
conductor.amqp.password=guest
Defensive patterns

Strategy: validation

Validate before calling

if (StringUtils.isEmpty(properties.getPassword())) {
    throw new IllegalArgumentException("conductor.amqp.password must be set");
}

Prevention

When it happens

Trigger: Constructing `new AMQPObservableQueue.Builder(properties)` when the AMQP password property is missing or blank.

Common situations: The AMQP password property is not set; the secret store providing the password was not mounted or resolved to empty; the property key is misspelled.

Related errors


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