fluent/fluentd · error · ConfigError

'#{varname}' doesn't have default value

Error message

'#{varname}' doesn't have default value

What it means

Error "'#{varname}' doesn't have default value" thrown in fluent/fluentd.

Source

Thrown at lib/fluent/config/section.rb:175

        end

        proxy.params.each_pair do |name, defval|
          varname = name.to_sym
          block, opts = defval
          opts = opts.merge(strict: true) if strict_config_value

          if conf.has_key?(name.to_s) || opts[:alias] && conf.has_key?(opts[:alias].to_s)
            val = if conf.has_key?(name.to_s)
                    conf[name.to_s]
                  else
                    conf[opts[:alias].to_s]
                  end

            if val == :default
              # default value is already set if it exists
              unless section_params.has_key?(varname)
                logger.error "config error in:\n#{conf}" if logger
                raise ConfigError, "'#{varname}' doesn't have default value"
              end
            else
              begin
                section_params[varname] = self.instance_exec(val, opts, name, &block)
              rescue ConfigError => e
                logger.error "config error in:\n#{conf}" if logger
                raise e
              end
            end

            if section_params[varname].nil?
              unless proxy.defaults.has_key?(varname) && proxy.defaults[varname].nil?
                logger.error "config error in:\n#{conf}" if logger
                raise ConfigError, "'#{name}' parameter is required but nil is specified"
              end
            end

            # Source of definitions of deprecated/obsoleted:

View on GitHub (pinned to dd45c6e18d)

When it happens

Trigger: Thrown at lib/fluent/config/section.rb:175 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/1ba8030e95373ed7. Report an issue: GitHub.