Open cbuescher opened 8 months ago
Pinging @elastic/ml-core (Team:ML)
At first I thought this was https://github.com/elastic/elasticsearch/issues/90019, but the errors in the logs coming from painless scripts look different, so I'm opening this for investigation. Please close if the two are related.
Caused by: org.elasticsearch.script.GeneralScriptException: Failed to compile inline script [ctx.message instanceof String && ctx.message.startsWith('{') && ctx.message.endsWith('}')] using lang [painless]
at org.elasticsearch.script.ScriptCache.compile(ScriptCache.java:119) ~[elasticsearch-8.12.0-SNAPSHOT.jar:8.12.0-SNAPSHOT]
at org.elasticsearch.script.ScriptService.compile(ScriptService.java:634) ~[elasticsearch-8.12.0-SNAPSHOT.jar:8.12.0-SNAPSHOT]
at org.elasticsearch.ingest.ConditionalProcessor.<init>(ConditionalProcessor.java:80) ~[elasticsearch-8.12.0-SNAPSHOT.jar:8.12.0-SNAPSHOT]
at org.elasticsearch.ingest.ConditionalProcessor.<init>(ConditionalProcessor.java:61) ~[elasticsearch-8.12.0-SNAPSHOT.jar:8.12.0-SNAPSHOT]
at org.elasticsearch.ingest.ConfigurationUtils.readProcessor(ConfigurationUtils.java:628) ~[elasticsearch-8.12.0-SNAPSHOT.jar:8.12.0-SNAPSHOT]
at org.elasticsearch.ingest.ConfigurationUtils.readProcessor(ConfigurationUtils.java:580) ~[elasticsearch-8.12.0-SNAPSHOT.jar:8.12.0-SNAPSHOT]
at org.elasticsearch.ingest.ConfigurationUtils.readProcessorConfigs(ConfigurationUtils.java:500) ~[elasticsearch-8.12.0-SNAPSHOT.jar:8.12.0-SNAPSHOT]
at org.elasticsearch.ingest.Pipeline.create(Pipeline.java:81) ~[elasticsearch-8.12.0-SNAPSHOT.jar:8.12.0-SNAPSHOT]
at org.elasticsearch.ingest.IngestService.innerUpdatePipelines(IngestService.java:1123) ~[elasticsearch-8.12.0-SNAPSHOT.jar:8.12.0-SNAPSHOT]
... 12 more
Suppressed: org.elasticsearch.script.GeneralScriptException: Failed to compile inline script [ctx._tmp_json_message != null] using lang [painless]
at org.elasticsearch.script.ScriptCache.compile(ScriptCache.java:119) ~[elasticsearch-8.12.0-SNAPSHOT.jar:8.12.0-SNAPSHOT]
at org.elasticsearch.script.ScriptService.compile(ScriptService.java:634) ~[elasticsearch-8.12.0-SNAPSHOT.jar:8.12.0-SNAPSHOT]
at org.elasticsearch.ingest.ConditionalProcessor.<init>(ConditionalProcessor.java:80) ~[elasticsearch-8.12.0-SNAPSHOT.jar:8.12.0-SNAPSHOT]
at org.elasticsearch.ingest.ConditionalProcessor.<init>(ConditionalProcessor.java:61) ~[elasticsearch-8.12.0-SNAPSHOT.jar:8.12.0-SNAPSHOT]
at org.elasticsearch.ingest.ConfigurationUtils.readProcessor(ConfigurationUtils.java:628) ~[elasticsearch-8.12.0-SNAPSHOT.jar:8.12.0-SNAPSHOT]
at org.elasticsearch.ingest.ConfigurationUtils.readProcessor(ConfigurationUtils.java:580) ~[elasticsearch-8.12.0-SNAPSHOT.jar:8.12.0-SNAPSHOT]
at org.elasticsearch.ingest.ConfigurationUtils.readProcessorConfigs(ConfigurationUtils.java:500) ~[elasticsearch-8.12.0-SNAPSHOT.jar:8.12.0-SNAPSHOT]
at org.elasticsearch.ingest.Pipeline.create(Pipeline.java:81) ~[elasticsearch-8.12.0-SNAPSHOT.jar:8.12.0-SNAPSHOT]
at org.elasticsearch.ingest.IngestService.innerUpdatePipelines(IngestService.java:1123) ~[elasticsearch-8.12.0-SNAPSHOT.jar:8.12.0-SNAPSHOT]
at org.elasticsearch.ingest.IngestService.applyClusterState(IngestService.java:1099) ~[elasticsearch-8.12.0-SNAPSHOT.jar:8.12.0-SNAPSHOT]
at org.elasticsearch.cluster.service.ClusterApplierService.callClusterStateAppliers(ClusterApplierService.java:539) ~[elasticsearch-8.12.0-SNAPSHOT.jar:8.12.0-SNAPSHOT]
at org.elasticsearch.cluster.service.ClusterApplierService.callClusterStateAppliers(ClusterApplierService.java:526) ~[elasticsearch-8.12.0-SNAPSHOT.jar:8.12.0-SNAPSHOT]
at org.elasticsearch.cluster.service.ClusterApplierService.applyChanges(ClusterApplierService.java:498) ~[elasticsearch-8.12.0-SNAPSHOT.jar:8.12.0-SNAPSHOT]
at org.elasticsearch.cluster.service.ClusterApplierService.runTask(ClusterApplierService.java:429) ~[elasticsearch-8.12.0-SNAPSHOT.jar:8.12.0-SNAPSHOT]
at org.elasticsearch.cluster.service.ClusterApplierService$UpdateTask.run(ClusterApplierService.java:154) ~[elasticsearch-8.12.0-SNAPSHOT.jar:8.12.0-SNAPSHOT]
at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingRunnable.run(ThreadContext.java:916) ~[elasticsearch-8.12.0-SNAPSHOT.jar:8.12.0-SNAPSHOT]
at org.elasticsearch.common.util.concurrent.PrioritizedEsThreadPoolExecutor$TieBreakingPrioritizedRunnable.runAndClean(PrioritizedEsThreadPoolExecutor.java:217) ~[elasticsearch-8.12.0-SNAPSHOT.jar:8.12.0-SNAPSHOT]
at org.elasticsearch.common.util.concurrent.PrioritizedEsThreadPoolExecutor$TieBreakingPrioritizedRunnable.run(PrioritizedEsThreadPoolExecutor.java:183) ~[elasticsearch-8.12.0-SNAPSHOT.jar:8.12.0-SNAPSHOT]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) ~[?:?]
at java.lang.Thread.run(Thread.java:1583) ~[?:?]
Caused by: java.lang.IllegalArgumentException: mock painless does not know how to handle context [processor_conditional]
at org.elasticsearch.xpack.ml.integration.MlNativeIntegTestCase$MockPainlessScriptEngine.compile(MlNativeIntegTestCase.java:454) ~[javaRestTest/:?]
at org.elasticsearch.script.ScriptCache.lambda$compile$0(ScriptCache.java:108) ~[elasticsearch-8.12.0-SNAPSHOT.jar:8.12.0-SNAPSHOT]
at org.elasticsearch.common.cache.Cache.computeIfAbsent(Cache.java:418) ~[elasticsearch-8.12.0-SNAPSHOT.jar:8.12.0-SNAPSHOT]
at org.elasticsearch.script.ScriptCache.compile(ScriptCache.java:90) ~[elasticsearch-8.12.0-SNAPSHOT.jar:8.12.0-SNAPSHOT]
... 20 more
Suppressed: org.elasticsearch.script.GeneralScriptException: Failed to compile inline script [ctx._tmp_json_message != null] using lang [painless]
at org.elasticsearch.script.ScriptCache.compile(ScriptCache.java:119) ~[elasticsearch-8.12.0-SNAPSHOT.jar:8.12.0-SNAPSHOT]
at org.elasticsearch.script.ScriptService.compile(ScriptService.java:634) ~[elasticsearch-8.12.0-SNAPSHOT.jar:8.12.0-SNAPSHOT]
at org.elasticsearch.ingest.ConditionalProcessor.<init>(ConditionalProcessor.java:80) ~[elasticsearch-8.12.0-SNAPSHOT.jar:8.12.0-SNAPSHOT]
at org.elasticsearch.ingest.ConditionalProcessor.<init>(ConditionalProcessor.java:61) ~[elasticsearch-8.12.0-SNAPSHOT.jar:8.12.0-SNAPSHOT]
at org.elasticsearch.ingest.ConfigurationUtils.readProcessor(ConfigurationUtils.java:628) ~[elasticsearch-8.12.0-SNAPSHOT.jar:8.12.0-SNAPSHOT]
at org.elasticsearch.ingest.ConfigurationUtils.readProcessor(ConfigurationUtils.java:580) ~[elasticsearch-8.12.0-SNAPSHOT.jar:8.12.0-SNAPSHOT]
at org.elasticsearch.ingest.ConfigurationUtils.readProcessorConfigs(ConfigurationUtils.java:500) ~[elasticsearch-8.12.0-SNAPSHOT.jar:8.12.0-SNAPSHOT]
at org.elasticsearch.ingest.Pipeline.create(Pipeline.java:81) ~[elasticsearch-8.12.0-SNAPSHOT.jar:8.12.0-SNAPSHOT]
at org.elasticsearch.ingest.IngestService.innerUpdatePipelines(IngestService.java:1123) ~[elasticsearch-8.12.0-SNAPSHOT.jar:8.12.0-SNAPSHOT]
at org.elasticsearch.ingest.IngestService.applyClusterState(IngestService.java:1099) ~[elasticsearch-8.12.0-SNAPSHOT.jar:8.12.0-SNAPSHOT]
at org.elasticsearch.cluster.service.ClusterApplierService.callClusterStateAppliers(ClusterApplierService.java:539) ~[elasticsearch-8.12.0-SNAPSHOT.jar:8.12.0-SNAPSHOT]
at org.elasticsearch.cluster.service.ClusterApplierService.callClusterStateAppliers(ClusterApplierService.java:526) ~[elasticsearch-8.12.0-SNAPSHOT.jar:8.12.0-SNAPSHOT]
at org.elasticsearch.cluster.service.ClusterApplierService.applyChanges(ClusterApplierService.java:498) ~[elasticsearch-8.12.0-SNAPSHOT.jar:8.12.0-SNAPSHOT]
at org.elasticsearch.cluster.service.ClusterApplierService.runTask(ClusterApplierService.java:429) ~[elasticsearch-8.12.0-SNAPSHOT.jar:8.12.0-SNAPSHOT]
at org.elasticsearch.cluster.service.ClusterApplierService$UpdateTask.run(ClusterApplierService.java:154) ~[elasticsearch-8.12.0-SNAPSHOT.jar:8.12.0-SNAPSHOT]
at org.elasticsearch.common.util.concurrent.ThreadContext$ContextPreservingRunnable.run(ThreadContext.java:916) ~[elasticsearch-8.12.0-SNAPSHOT.jar:8.12.0-SNAPSHOT]
at org.elasticsearch.common.util.concurrent.PrioritizedEsThreadPoolExecutor$TieBreakingPrioritizedRunnable.runAndClean(PrioritizedEsThreadPoolExecutor.java:217) ~[elasticsearch-8.12.0-SNAPSHOT.jar:8.12.0-SNAPSHOT]
at org.elasticsearch.common.util.concurrent.PrioritizedEsThreadPoolExecutor$TieBreakingPrioritizedRunnable.run(PrioritizedEsThreadPoolExecutor.java:183) ~[elasticsearch-8.12.0-SNAPSHOT.jar:8.12.0-SNAPSHOT]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144) ~[?:?]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642) ~[?:?]
at java.lang.Thread.run(Thread.java:1583) ~[?:?]
Caused by: java.lang.IllegalArgumentException: mock painless does not know how to handle context [processor_conditional]
at org.elasticsearch.xpack.ml.integration.MlNativeIntegTestCase$MockPainlessScriptEngine.compile(MlNativeIntegTestCase.java:454) ~[javaRestTest/:?]
at org.elasticsearch.script.ScriptCache.lambda$compile$0(ScriptCache.java:108) ~[elasticsearch-8.12.0-SNAPSHOT.jar:8.12.0-SNAPSHOT]
at org.elasticsearch.common.cache.Cache.computeIfAbsent(Cache.java:418) ~[elasticsearch-8.12.0-SNAPSHOT.jar:8.12.0-SNAPSHOT]
at org.elasticsearch.script.ScriptCache.compile(ScriptCache.java:90) ~[elasticsearch-8.12.0-SNAPSHOT.jar:8.12.0-SNAPSHOT]
... 20 more
Caused by: java.lang.IllegalArgumentException: mock painless does not know how to handle context [processor_conditional]
at org.elasticsearch.xpack.ml.integration.MlNativeIntegTestCase$MockPainlessScriptEngine.compile(MlNativeIntegTestCase.java:454) ~[javaRestTest/:?]
at org.elasticsearch.script.ScriptCache.lambda$compile$0(ScriptCache.java:108) ~[elasticsearch-8.12.0-SNAPSHOT.jar:8.12.0-SNAPSHOT]
at org.elasticsearch.common.cache.Cache.computeIfAbsent(Cache.java:418) ~[elasticsearch-8.12.0-SNAPSHOT.jar:8.12.0-SNAPSHOT]
at org.elasticsearch.script.ScriptCache.compile(ScriptCache.java:90) ~[elasticsearch-8.12.0-SNAPSHOT.jar:8.12.0-SNAPSHOT]
at org.elasticsearch.script.ScriptService.compile(ScriptService.java:634) ~[elasticsearch-8.12.0-SNAPSHOT.jar:8.12.0-SNAPSHOT]
at org.elasticsearch.ingest.ConditionalProcessor.<init>(ConditionalProcessor.java:80) ~[elasticsearch-8.12.0-SNAPSHOT.jar:8.12.0-SNAPSHOT]
at org.elasticsearch.ingest.ConditionalProcessor.<init>(ConditionalProcessor.java:61) ~[elasticsearch-8.12.0-SNAPSHOT.jar:8.12.0-SNAPSHOT]
at org.elasticsearch.ingest.ConfigurationUtils.readProcessor(ConfigurationUtils.java:628) ~[elasticsearch-8.12.0-SNAPSHOT.jar:8.12.0-SNAPSHOT]
at org.elasticsearch.ingest.ConfigurationUtils.readProcessor(ConfigurationUtils.java:580) ~[elasticsearch-8.12.0-SNAPSHOT.jar:8.12.0-SNAPSHOT]
at org.elasticsearch.ingest.ConfigurationUtils.readProcessorConfigs(ConfigurationUtils.java:500) ~[elasticsearch-8.12.0-SNAPSHOT.jar:8.12.0-SNAPSHOT]
at org.elasticsearch.ingest.Pipeline.create(Pipeline.java:81) ~[elasticsearch-8.12.0-SNAPSHOT.jar:8.12.0-SNAPSHOT]
at org.elasticsearch.ingest.IngestService.innerUpdatePipelines(IngestService.java:1123) ~[elasticsearch-8.12.0-SNAPSHOT.jar:8.12.0-SNAPSHOT]
... 12 more
Classifying as low-risk
. It's something missing from a test mock: mock painless does not know how to handle context
Another failure: https://gradle-enterprise.elastic.co/s/ivclevld3iaqg
Build scan: https://gradle-enterprise.elastic.co/s/uwwlkdiu6izvg/tests/:x-pack:plugin:ml:qa:native-multi-node-tests:javaRestTest/org.elasticsearch.xpack.ml.integration.ClassificationHousePricingIT/testFeatureImportanceValues Reproduction line:
Applicable branches: main
Reproduces locally?: No
Failure history: https://gradle-enterprise.elastic.co/scans/tests?tests.container=org.elasticsearch.xpack.ml.integration.ClassificationHousePricingIT&tests.test=testFeatureImportanceValues
Failure excerpt: