Skip to content

Commit b79f71c

Browse files
authored
Remove unnecessary SPI reload calls (elastic#77680)
The PluginsService calls various lucene SPI reload methods to ensure that lookups done via eg Codec.forName() will find classes that have been added via a plugin. We also call SPI reloads for analysis components (CharFilters, Tokenizers and TokenFilters). However, this is unnecessary, because elasticsearch uses its own factory abstractions for these components and never uses lucene SPI to load them. This commit removes the unnecessary SPI calls.
1 parent aacd761 commit b79f71c

File tree

1 file changed

+2
-9
lines changed

1 file changed

+2
-9
lines changed

server/src/main/java/org/elasticsearch/plugins/PluginsService.java

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,6 @@
1010

1111
import org.apache.logging.log4j.LogManager;
1212
import org.apache.logging.log4j.Logger;
13-
import org.apache.lucene.analysis.util.CharFilterFactory;
14-
import org.apache.lucene.analysis.util.TokenFilterFactory;
15-
import org.apache.lucene.analysis.util.TokenizerFactory;
1613
import org.apache.lucene.codecs.Codec;
1714
import org.apache.lucene.codecs.DocValuesFormat;
1815
import org.apache.lucene.codecs.PostingsFormat;
@@ -21,14 +18,14 @@
2118
import org.elasticsearch.ElasticsearchException;
2219
import org.elasticsearch.Version;
2320
import org.elasticsearch.action.admin.cluster.node.info.PluginsAndModules;
24-
import org.elasticsearch.jdk.JarHell;
2521
import org.elasticsearch.common.Strings;
26-
import org.elasticsearch.core.Tuple;
2722
import org.elasticsearch.common.io.FileSystemUtils;
2823
import org.elasticsearch.common.settings.Setting;
2924
import org.elasticsearch.common.settings.Setting.Property;
3025
import org.elasticsearch.common.settings.Settings;
26+
import org.elasticsearch.core.Tuple;
3127
import org.elasticsearch.index.IndexModule;
28+
import org.elasticsearch.jdk.JarHell;
3229
import org.elasticsearch.node.ReportingService;
3330
import org.elasticsearch.threadpool.ExecutorBuilder;
3431

@@ -675,10 +672,6 @@ static void reloadLuceneSPI(ClassLoader loader) {
675672
PostingsFormat.reloadPostingsFormats(loader);
676673
DocValuesFormat.reloadDocValuesFormats(loader);
677674
Codec.reloadCodecs(loader);
678-
// Analysis:
679-
CharFilterFactory.reloadCharFilters(loader);
680-
TokenFilterFactory.reloadTokenFilters(loader);
681-
TokenizerFactory.reloadTokenizers(loader);
682675
}
683676

684677
private Class<? extends Plugin> loadPluginClass(String className, ClassLoader loader) {

0 commit comments

Comments
 (0)