fluent/fluentd · error · Fluent::ConfigError

worker id #{r} specified by <worker> directive is not allowe

Error message

worker id #{r} specified by <worker> directive is not allowed. Available worker id is between 0 and #{@workers-1}

What it means

Error "worker id #{r} specified by <worker> directive is not allowed. Available worker id is between 0 and #{@workers-1}" thrown in fluent/fluentd.

Source

Thrown at lib/fluent/static_config_analysis.rb:127

      l, r =
         begin
           worker_id_str.split('-', 2).map { |v| Integer(v) }
         rescue TypeError, ArgumentError
           raise Fluent::ConfigError, "worker id should be integer: #{worker_id_str}"
         end

      if l < 0 || l >= @workers
        raise Fluent::ConfigError, "worker id #{l} specified by <worker> directive is not allowed. Available worker id is between 0 and #{@workers-1}"
      end

      # e.g. specified one worker id like `<worker 0>`
      if r.nil?
        return [l]
      end

      if r < 0 || r >= @workers
        raise Fluent::ConfigError, "worker id #{r} specified by <worker> directive is not allowed. Available worker id is between 0 and #{@workers-1}"
      end

      if l > r
        raise Fluent::ConfigError, "greater first_worker_id<#{l}> than last_worker_id<#{r}> specified by <worker> directive is not allowed. Available multi worker assign syntax is <smaller_worker_id>-<greater_worker_id>"
      end

      [l, r]
    end

    def static_label_analyse(conf)
      ret = []
      conf.elements(name: 'label').each do |e|
        name = e.arg
        if name.empty?
          raise ConfigError, 'Missing symbol argument on <label> directive'
        end

        if @labels[name]

View on GitHub (pinned to dd45c6e18d)

When it happens

Trigger: Thrown at lib/fluent/static_config_analysis.rb:127 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of fluent/fluentd@dd45c6e18d (2026-08-21). Data as JSON: /api/errors/d0b4ccc70bd57ad2. Report an issue: GitHub.