Skip to content

Commit e10bc3a

Browse files
committed
Remove unnecessary SPI reload calls (#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 db0d559 commit e10bc3a

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,16 +18,16 @@
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.component.LifecycleComponent;
2823
import org.elasticsearch.common.inject.Module;
2924
import org.elasticsearch.common.io.FileSystemUtils;
3025
import org.elasticsearch.common.settings.Setting;
3126
import org.elasticsearch.common.settings.Setting.Property;
3227
import org.elasticsearch.common.settings.Settings;
28+
import org.elasticsearch.core.Tuple;
3329
import org.elasticsearch.index.IndexModule;
30+
import org.elasticsearch.jdk.JarHell;
3431
import org.elasticsearch.node.ReportingService;
3532
import org.elasticsearch.threadpool.ExecutorBuilder;
3633
import org.elasticsearch.transport.TransportSettings;
@@ -715,10 +712,6 @@ static void reloadLuceneSPI(ClassLoader loader) {
715712
PostingsFormat.reloadPostingsFormats(loader);
716713
DocValuesFormat.reloadDocValuesFormats(loader);
717714
Codec.reloadCodecs(loader);
718-
// Analysis:
719-
CharFilterFactory.reloadCharFilters(loader);
720-
TokenFilterFactory.reloadTokenFilters(loader);
721-
TokenizerFactory.reloadTokenizers(loader);
722715
}
723716

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

0 commit comments

Comments
 (0)