Skip to content

Commit 6b369f6

Browse files
authored
Sync up with upstream ES main: apply project ID resolver to ScriptService. (#357)
* Sync up with upstream ES main: apply null project ID resolver as applied in logstash-bridge ScriptServiceBridge.
1 parent 6a03524 commit 6b369f6

File tree

2 files changed

+29
-2
lines changed

2 files changed

+29
-2
lines changed

src/main/java/co/elastic/logstash/filters/elasticintegration/EventProcessorBuilder.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
import co.elastic.logstash.filters.elasticintegration.resolver.ResolverCache;
1818
import co.elastic.logstash.filters.elasticintegration.util.Exceptions;
1919
import co.elastic.logstash.filters.elasticintegration.util.PluginContext;
20+
import co.elastic.logstash.filters.elasticintegration.util.PluginProjectResolver;
2021
import com.google.common.util.concurrent.Service;
2122
import com.google.common.util.concurrent.ServiceManager;
2223
import org.elasticsearch.client.RestClient;
@@ -33,7 +34,6 @@
3334
import org.elasticsearch.painless.PainlessPlugin;
3435
import org.elasticsearch.painless.PainlessScriptEngine;
3536
import org.elasticsearch.painless.spi.PainlessExtension;
36-
import org.elasticsearch.painless.spi.Whitelist;
3737
import org.elasticsearch.plugins.ExtensiblePlugin;
3838
import org.elasticsearch.plugins.IngestPlugin;
3939
import org.elasticsearch.script.IngestConditionalScript;
@@ -318,7 +318,13 @@ private static ScriptService initScriptService(final Settings settings, final Th
318318
Map<String, ScriptEngine> engines = new HashMap<>();
319319
engines.put(PainlessScriptEngine.NAME, getPainlessScriptEngine(settings));
320320
engines.put(MustacheScriptEngine.NAME, new MustacheScriptEngine(settings));
321-
return new ScriptService(settings, engines, ScriptModule.CORE_CONTEXTS, threadPool::absoluteTimeInMillis);
321+
322+
return new ScriptService(
323+
settings,
324+
engines,
325+
ScriptModule.CORE_CONTEXTS,
326+
threadPool::absoluteTimeInMillis,
327+
new PluginProjectResolver());
322328
}
323329

324330
/**
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
package co.elastic.logstash.filters.elasticintegration.util;
2+
3+
import org.elasticsearch.cluster.metadata.ProjectId;
4+
import org.elasticsearch.cluster.project.ProjectResolver;
5+
import org.elasticsearch.core.CheckedRunnable;
6+
7+
public class PluginProjectResolver implements ProjectResolver {
8+
@Override
9+
public ProjectId getProjectId() {
10+
return null;
11+
}
12+
13+
@Override
14+
public <E extends Exception> void executeOnProject(ProjectId projectId, CheckedRunnable<E> checkedRunnable) throws E {
15+
if (projectId.equals(ProjectId.DEFAULT)) {
16+
checkedRunnable.run();
17+
} else {
18+
throw new IllegalArgumentException("Cannot execute on a project other than [" + ProjectId.DEFAULT + "]");
19+
}
20+
}
21+
}

0 commit comments

Comments
 (0)