浏览代码

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.
Alan Woodward 4 年之前
父节点
当前提交
b79f71c4f7
共有 1 个文件被更改,包括 2 次插入9 次删除
  1. 2 9
      server/src/main/java/org/elasticsearch/plugins/PluginsService.java

+ 2 - 9
server/src/main/java/org/elasticsearch/plugins/PluginsService.java

@@ -10,9 +10,6 @@ package org.elasticsearch.plugins;
 
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
-import org.apache.lucene.analysis.util.CharFilterFactory;
-import org.apache.lucene.analysis.util.TokenFilterFactory;
-import org.apache.lucene.analysis.util.TokenizerFactory;
 import org.apache.lucene.codecs.Codec;
 import org.apache.lucene.codecs.DocValuesFormat;
 import org.apache.lucene.codecs.PostingsFormat;
@@ -21,14 +18,14 @@ import org.elasticsearch.Build;
 import org.elasticsearch.ElasticsearchException;
 import org.elasticsearch.Version;
 import org.elasticsearch.action.admin.cluster.node.info.PluginsAndModules;
-import org.elasticsearch.jdk.JarHell;
 import org.elasticsearch.common.Strings;
-import org.elasticsearch.core.Tuple;
 import org.elasticsearch.common.io.FileSystemUtils;
 import org.elasticsearch.common.settings.Setting;
 import org.elasticsearch.common.settings.Setting.Property;
 import org.elasticsearch.common.settings.Settings;
+import org.elasticsearch.core.Tuple;
 import org.elasticsearch.index.IndexModule;
+import org.elasticsearch.jdk.JarHell;
 import org.elasticsearch.node.ReportingService;
 import org.elasticsearch.threadpool.ExecutorBuilder;
 
@@ -675,10 +672,6 @@ public class PluginsService implements ReportingService<PluginsAndModules> {
         PostingsFormat.reloadPostingsFormats(loader);
         DocValuesFormat.reloadDocValuesFormats(loader);
         Codec.reloadCodecs(loader);
-        // Analysis:
-        CharFilterFactory.reloadCharFilters(loader);
-        TokenFilterFactory.reloadTokenFilters(loader);
-        TokenizerFactory.reloadTokenizers(loader);
     }
 
     private Class<? extends Plugin> loadPluginClass(String className, ClassLoader loader) {