From afb5cc0d08ff7902fd6b9f8adb394b63a0009a2c Mon Sep 17 00:00:00 2001 From: Adrien Grand Date: Wed, 25 Nov 2015 19:29:35 +0100 Subject: [PATCH 1/2] Stop using onIndexService. Now that mappers are registered at the index level, Shield is the last user of Plugin.onIndexService. Yet this can be implemented on the IndexModule by registering a listener on index creation. Once this change is merged, we can remove Plugin.onIndexService entirely. Original commit: elastic/x-pack-elasticsearch@fba68099498818f1b0fda6a77cda6b85721b9fcb --- .../org/elasticsearch/shield/ShieldPlugin.java | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/shield/src/main/java/org/elasticsearch/shield/ShieldPlugin.java b/shield/src/main/java/org/elasticsearch/shield/ShieldPlugin.java index 095b971ccd1..2f5ac7334a2 100644 --- a/shield/src/main/java/org/elasticsearch/shield/ShieldPlugin.java +++ b/shield/src/main/java/org/elasticsearch/shield/ShieldPlugin.java @@ -18,6 +18,7 @@ import org.elasticsearch.env.Environment; import org.elasticsearch.http.HttpServerModule; import org.elasticsearch.index.IndexModule; import org.elasticsearch.index.IndexService; +import org.elasticsearch.index.shard.IndexEventListener; import org.elasticsearch.plugins.Plugin; import org.elasticsearch.rest.RestModule; import org.elasticsearch.shield.action.ShieldActionFilter; @@ -51,7 +52,6 @@ import org.elasticsearch.shield.transport.netty.ShieldNettyHttpServerTransport; import org.elasticsearch.shield.transport.netty.ShieldNettyTransport; import org.elasticsearch.transport.TransportModule; -import java.io.Closeable; import java.nio.file.Path; import java.util.*; import java.security.AccessController; @@ -179,13 +179,6 @@ public class ShieldPlugin extends Plugin { clusterDynamicSettingsModule.registerClusterDynamicSetting(IPFilter.IP_FILTER_ENABLED_HTTP_SETTING, Validator.EMPTY); } - @Override - public void onIndexService(IndexService indexService) { - if (enabled && clientMode == false) { - failIfShieldQueryCacheIsNotActive(indexService.getIndexSettings().getSettings(), false); - } - } - @Override public void onIndexModule(IndexModule module) { if (enabled == false) { @@ -199,6 +192,12 @@ public class ShieldPlugin extends Plugin { } if (clientMode == false) { module.registerQueryCache(ShieldPlugin.OPT_OUT_QUERY_CACHE, OptOutQueryCache::new); + module.addIndexEventListener(new IndexEventListener() { + @Override + public void afterIndexCreated(IndexService indexService) { + failIfShieldQueryCacheIsNotActive(indexService.getIndexSettings().getSettings(), false); + } + }); } } From b43f81a15c34c396cc7881bef87a52ebd3a7b321 Mon Sep 17 00:00:00 2001 From: Adrien Grand Date: Wed, 2 Dec 2015 14:56:34 +0100 Subject: [PATCH 2/2] Use IndexModule.getSettings() to get the settings. Original commit: elastic/x-pack-elasticsearch@770f859b6cadf4c93d0069567bc5e80ee48ce1dd --- .../main/java/org/elasticsearch/shield/ShieldPlugin.java | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/shield/src/main/java/org/elasticsearch/shield/ShieldPlugin.java b/shield/src/main/java/org/elasticsearch/shield/ShieldPlugin.java index 2f5ac7334a2..fc7a9a2e0a4 100644 --- a/shield/src/main/java/org/elasticsearch/shield/ShieldPlugin.java +++ b/shield/src/main/java/org/elasticsearch/shield/ShieldPlugin.java @@ -192,12 +192,7 @@ public class ShieldPlugin extends Plugin { } if (clientMode == false) { module.registerQueryCache(ShieldPlugin.OPT_OUT_QUERY_CACHE, OptOutQueryCache::new); - module.addIndexEventListener(new IndexEventListener() { - @Override - public void afterIndexCreated(IndexService indexService) { - failIfShieldQueryCacheIsNotActive(indexService.getIndexSettings().getSettings(), false); - } - }); + failIfShieldQueryCacheIsNotActive(module.getSettings(), false); } }