{"record":{"id":"55aa5e378ada8238","repo":"elastic/elasticsearch","slug":"scriptedconditiontokenfilter-name-refers-to","errorCode":null,"errorMessage":"ScriptedConditionTokenFilter [{name()}] refers to undefined token filter [{filter}]","messagePattern":"ScriptedConditionTokenFilter \\[(.+?)\\] refers to undefined token filter \\[(.+?)\\]","errorType":"validation","errorClass":"IllegalArgumentException","httpStatus":null,"severity":"error","filePath":"modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/ScriptedConditionTokenFilterFactory.java","lineNumber":76,"sourceCode":"    }\n\n    @Override\n    public TokenFilterFactory getChainAwareTokenFilterFactory(\n        IndexCreationContext context,\n        TokenizerFactory tokenizer,\n        List<CharFilterFactory> charFilters,\n        List<TokenFilterFactory> previousTokenFilters,\n        Function<String, TokenFilterFactory> allFilters\n    ) {\n        // Guard against a filter referring to itself (directly or via a cycle), which would otherwise\n        // recurse until the stack overflows and takes the node down.\n        allFilters = ReferringFilterResolver.enter(name(), allFilters);\n        List<TokenFilterFactory> filters = new ArrayList<>();\n        List<TokenFilterFactory> existingChain = new ArrayList<>(previousTokenFilters);\n        for (String filter : filterNames) {\n            TokenFilterFactory tff = allFilters.apply(filter);\n            if (tff == null) {\n                throw new IllegalArgumentException(\n                    \"ScriptedConditionTokenFilter [\" + name() + \"] refers to undefined token filter [\" + filter + \"]\"\n                );\n            }\n            tff = tff.getChainAwareTokenFilterFactory(context, tokenizer, charFilters, existingChain, allFilters);\n            filters.add(tff);\n            existingChain.add(tff);\n        }\n\n        return new TokenFilterFactory() {\n            @Override\n            public String name() {\n                return ScriptedConditionTokenFilterFactory.this.name();\n            }\n\n            @Override\n            public TokenStream create(TokenStream tokenStream) {\n                Function<TokenStream, TokenStream> filter = in -> {\n                    for (TokenFilterFactory tff : filters) {","sourceCodeStart":58,"sourceCodeEnd":94,"githubUrl":"https://github.com/elastic/elasticsearch/blob/db6a809a667c081ca1dc7500389d26975573215f/modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/ScriptedConditionTokenFilterFactory.java#L58-L94","documentation":"Error \"ScriptedConditionTokenFilter [{name()}] refers to undefined token filter [{filter}]\" thrown in elastic/elasticsearch.","triggerScenarios":"Thrown at modules/analysis-common/src/main/java/org/elasticsearch/analysis/common/ScriptedConditionTokenFilterFactory.java:76 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"analyzedSha":"db6a809a667c081ca1dc7500389d26975573215f","analyzedAt":"2026-08-12T01:39:14.192Z","schemaVersion":2},"datasetVersion":"2026-08-12T08:17:17.861Z"}