{"record":{"id":"cbe0fe5c8b8a4503","repo":"jaegertracing/jaeger","slug":"s-is-no-longer-supported-s-please-remove-the","errorCode":null,"errorMessage":"'%s' is no longer supported: %s; please remove the setting (see https://github.com/jaegertracing/jaeger/pull/9076)","messagePattern":"'(.+?)' is no longer supported: (.+?); please remove the setting \\(see https://github\\.com/jaegertracing/jaeger/pull/9076\\)","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"internal/storage/elasticsearch/config/config.go","lineNumber":581,"sourceCode":"\t}\n}\n\n// validateLogLevel rejects an unrecognized log_level. An empty value is allowed\n// and means no client logging is attached.\nfunc validateLogLevel(level string) error {\n\tswitch level {\n\tcase \"\", \"debug\", \"info\", \"error\":\n\t\treturn nil\n\tdefault:\n\t\treturn fmt.Errorf(\"unrecognized log_level %q: valid values are debug, info, error\", level)\n\t}\n}\n\n// rejectUnwiredKey builds the validation error for a config key that the current\n// Elasticsearch client no longer reads, pointing operators at the PR that explains\n// the change. The migration is always the same: remove the key.\nfunc rejectUnwiredKey(key, reason string) error {\n\treturn fmt.Errorf(\n\t\t\"'%s' is no longer supported: %s; please remove the setting \"+\n\t\t\t\"(see https://github.com/jaegertracing/jaeger/pull/9076)\",\n\t\tkey, reason,\n\t)\n}\n","sourceCodeStart":563,"sourceCodeEnd":587,"githubUrl":"https://github.com/jaegertracing/jaeger/blob/806f4447841ecdb60519f408b004a599d515f437/internal/storage/elasticsearch/config/config.go#L563-L587","documentation":"Newer Elasticsearch clients in Jaeger no longer read certain legacy config keys. When validation finds one of these unwired keys, rejectUnwiredKey produces this error naming the key, the reason it was dropped, and a link to PR #9076 explaining the migration. The fix is always to remove the setting.","triggerScenarios":"Calling Validate on a config that still contains a legacy key the current ES client no longer consumes (the key/reason pair is supplied by the caller of rejectUnwiredKey).","commonSituations":"Upgrading Jaeger from an older version where the key was honored; migrating old elasticsearch.yml/CLI flags forward without cleaning them up.","solutions":["Remove the named setting from your config","Read PR https://github.com/jaegertracing/jaeger/pull/9076 for what replaced the key","If a replacement exists in the new config schema, set that instead"],"exampleFix":"// before\nsniff: true\nmax_doc_count: 100000\n// after\n# both keys removed; behavior now controlled internally by the client","handlingStrategy":"validation","validationCode":"// keep a denylist of removed keys and check your config before upgrade\nremovedKeys := []string{\"sniff\", \"max_doc_count\"} // per PR #9076\nfor _, k := range removedKeys {\n    if _, ok := rawConfig[k]; ok {\n        return fmt.Errorf(\"key %q removed, see jaeger PR 9076\", k)\n    }\n}","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Read the changelog/PR #9076 when upgrading Jaeger","Diff old config against the new config schema after upgrades","Remove deprecated flags during migration, not later"],"tags":["elasticsearch","config-validation","deprecation"],"backgroundTag":"deprecated-config-key","analyzedSha":"806f4447841ecdb60519f408b004a599d515f437","analyzedAt":"2026-09-01T02:39:22.140Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-08T05:18:18.240Z"}