{"record":{"id":"3becb313ee22af9c","repo":"fluent/fluentd","slug":"argument-in-storage-arg-uses-invalid-characters-3becb3","errorCode":null,"errorMessage":"Argument in <storage ARG> uses invalid characters: '#{section.usage}'","messagePattern":"Argument in <storage ARG> uses invalid characters: '#(.+?)'","errorType":"validation","errorClass":"Fluent::ConfigError","httpStatus":null,"severity":"error","filePath":"lib/fluent/plugin_helper/storage.rb","lineNumber":105,"sourceCode":"\n      def self.included(mod)\n        mod.include StorageParams\n      end\n\n      attr_reader :_storages # for tests\n\n      def initialize\n        super\n        @_storages_started = false\n        @_storages = {} # usage => storage_state\n      end\n\n      def configure(conf)\n        super\n\n        @storage_configs.each do |section|\n          if !section.usage.empty? && section.usage !~ /^[a-zA-Z][-_.a-zA-Z0-9]*$/\n            raise Fluent::ConfigError, \"Argument in <storage ARG> uses invalid characters: '#{section.usage}'\"\n          end\n          if @_storages[section.usage]\n            raise Fluent::ConfigError, \"duplicated storages configured: #{section.usage}\"\n          end\n          storage = Plugin.new_storage(section[:@type], parent: self)\n          storage.configure(section.corresponding_config_element)\n          @_storages[section.usage] = StorageState.new(wrap_instance(storage), false)\n        end\n      end\n\n      def start\n        super\n\n        @_storages_started = true\n        @_storages.each_pair do |usage, s|\n          s.storage.start\n          s.storage.load\n","sourceCodeStart":87,"sourceCodeEnd":123,"githubUrl":"https://github.com/fluent/fluentd/blob/dd45c6e18dc7be33b5e5a0f0767bf46307ff5626/lib/fluent/plugin_helper/storage.rb#L87-L123","documentation":"Error \"Argument in <storage ARG> uses invalid characters: '#{section.usage}'\" thrown in fluent/fluentd.","triggerScenarios":"Thrown at lib/fluent/plugin_helper/storage.rb:105 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"}