fluent/fluentd · error · Fluent::ConfigError
Duplicated plugin id `#{@id}`. Check whole configuration and
Error message
Duplicated plugin id `#{@id}`. Check whole configuration and fix it. What it means
Error "Duplicated plugin id `#{@id}`. Check whole configuration and fix it." thrown in fluent/fluentd.
Source
Thrown at lib/fluent/plugin_id.rb:39
module Fluent
module PluginId
def initialize
super
@_plugin_id_variable_store = nil
@_plugin_root_dir = nil
@id = nil
end
def configure(conf)
@_plugin_id_variable_store = Fluent::VariableStore.fetch_or_build(:plugin_id, default_value: Set.new)
@id = conf['@id']
@_id_configured = !!@id # plugin id is explicitly configured by users (or not)
if @id
@id = @id.to_s
if @_plugin_id_variable_store.include?(@id) && !plugin_id_for_test?
raise Fluent::ConfigError, "Duplicated plugin id `#{@id}`. Check whole configuration and fix it."
end
@_plugin_id_variable_store.add(@id)
end
super
end
def plugin_id_for_test?
caller_locations.each do |location|
# Thread::Backtrace::Location#path returns base filename or absolute path.
# #absolute_path returns absolute_path always.
# https://bugs.ruby-lang.org/issues/12159
if /\/test_[^\/]+\.rb$/.match?(location.absolute_path) # location.path =~ /test_.+\.rb$/
return true
end
end
false
endView on GitHub (pinned to dd45c6e18d)
When it happens
Trigger: Thrown at lib/fluent/plugin_id.rb:39 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/e348409b9506c438.
Report an issue: GitHub.