{"record":{"id":"e348409b9506c438","repo":"fluent/fluentd","slug":"duplicated-plugin-id-id-check-whole-configu","errorCode":null,"errorMessage":"Duplicated plugin id `#{@id}`. Check whole configuration and fix it.","messagePattern":"Duplicated plugin id `#(.+?)`\\. Check whole configuration and fix it\\.","errorType":"validation","errorClass":"Fluent::ConfigError","httpStatus":null,"severity":"error","filePath":"lib/fluent/plugin_id.rb","lineNumber":39,"sourceCode":"module Fluent\n  module PluginId\n\n    def initialize\n      super\n\n      @_plugin_id_variable_store = nil\n      @_plugin_root_dir = nil\n      @id = nil\n    end\n\n    def configure(conf)\n      @_plugin_id_variable_store = Fluent::VariableStore.fetch_or_build(:plugin_id, default_value: Set.new)\n      @id = conf['@id']\n      @_id_configured = !!@id # plugin id is explicitly configured by users (or not)\n      if @id\n        @id = @id.to_s\n        if @_plugin_id_variable_store.include?(@id) && !plugin_id_for_test?\n          raise Fluent::ConfigError, \"Duplicated plugin id `#{@id}`. Check whole configuration and fix it.\"\n        end\n        @_plugin_id_variable_store.add(@id)\n      end\n\n      super\n    end\n\n    def plugin_id_for_test?\n      caller_locations.each do |location|\n        # Thread::Backtrace::Location#path returns base filename or absolute path.\n        # #absolute_path returns absolute_path always.\n        # https://bugs.ruby-lang.org/issues/12159\n        if /\\/test_[^\\/]+\\.rb$/.match?(location.absolute_path) # location.path =~ /test_.+\\.rb$/\n          return true\n        end\n      end\n      false\n    end","sourceCodeStart":21,"sourceCodeEnd":57,"githubUrl":"https://github.com/fluent/fluentd/blob/dd45c6e18dc7be33b5e5a0f0767bf46307ff5626/lib/fluent/plugin_id.rb#L21-L57","documentation":"Error \"Duplicated plugin id `#{@id}`. Check whole configuration and fix it.\" thrown in fluent/fluentd.","triggerScenarios":"Thrown at lib/fluent/plugin_id.rb:39 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"dd45c6e18dc7be33b5e5a0f0767bf46307ff5626","analyzedAt":"2026-08-21T16:22:07.332Z","schemaVersion":2},"datasetVersion":"2026-08-21T18:17:14.833Z"}