Skip to content

Commit

Permalink
Merge pull request elastic#13034 from rjernst/module_culling4
Browse files Browse the repository at this point in the history
Remove SpawnModules
  • Loading branch information
rjernst authored and s1monw committed Aug 25, 2015
1 parent fa6218d commit 2196ba7
Show file tree
Hide file tree
Showing 12 changed files with 56 additions and 272 deletions.
Expand Up @@ -35,6 +35,7 @@
import org.elasticsearch.common.collect.Tuple;
import org.elasticsearch.common.component.LifecycleComponent;
import org.elasticsearch.common.inject.Injector;
import org.elasticsearch.common.inject.Module;
import org.elasticsearch.common.inject.ModulesBuilder;
import org.elasticsearch.common.network.NetworkModule;
import org.elasticsearch.common.settings.Settings;
Expand Down Expand Up @@ -132,7 +133,7 @@ public TransportClient build() {
try {
ModulesBuilder modules = new ModulesBuilder();
modules.add(new Version.Module(version));
modules.add(new PluginsModule(this.settings, pluginsService));
modules.add(new PluginsModule(pluginsService));
modules.add(new EnvironmentModule(environment));
modules.add(new SettingsModule(this.settings));
modules.add(new NetworkModule());
Expand All @@ -149,6 +150,11 @@ protected void configure() {
modules.add(new ClientTransportModule());
modules.add(new CircuitBreakerModule(this.settings));

for (Module pluginModule : pluginsService.nodeModules()) {
modules.add(pluginModule);
}
pluginsService.processModules(modules);

Injector injector = modules.createInjector();
injector.getInstance(TransportService.class).start();
TransportClient transportClient = new TransportClient(injector);
Expand Down
65 changes: 0 additions & 65 deletions core/src/main/java/org/elasticsearch/common/inject/Modules.java

This file was deleted.

Expand Up @@ -31,20 +31,9 @@ public class ModulesBuilder implements Iterable<Module> {

private final List<Module> modules = Lists.newArrayList();

public ModulesBuilder add(Module... modules) {
for (Module module : modules) {
add(module);
}
return this;
}

public ModulesBuilder add(Module module) {
modules.add(module);
if (module instanceof SpawnModules) {
Iterable<? extends Module> spawned = ((SpawnModules) module).spawnModules();
for (Module spawn : spawned) {
add(spawn);
}
public ModulesBuilder add(Module... newModules) {
for (Module module : newModules) {
modules.add(module);
}
return this;
}
Expand All @@ -55,7 +44,6 @@ public Iterator<Module> iterator() {
}

public Injector createInjector() {
Modules.processModules(modules);
Injector injector = Guice.createInjector(modules);
Injectors.cleanCaches(injector);
// in ES, we always create all instances as if they are eager singletons
Expand All @@ -65,7 +53,6 @@ public Injector createInjector() {
}

public Injector createChildInjector(Injector injector) {
Modules.processModules(modules);
Injector childInjector = injector.createChildInjector(modules);
Injectors.cleanCaches(childInjector);
// in ES, we always create all instances as if they are eager singletons
Expand Down

This file was deleted.

8 changes: 6 additions & 2 deletions core/src/main/java/org/elasticsearch/index/IndexService.java
Expand Up @@ -56,7 +56,6 @@
import org.elasticsearch.indices.InternalIndicesLifecycle;
import org.elasticsearch.indices.cache.query.IndicesQueryCache;
import org.elasticsearch.plugins.PluginsService;
import org.elasticsearch.plugins.ShardsPluginsModule;

import java.io.Closeable;
import java.io.IOException;
Expand Down Expand Up @@ -317,7 +316,6 @@ public synchronized IndexShard createShard(int sShardId, ShardRouting routing) {
final boolean canDeleteShardContent = IndexMetaData.isOnSharedFilesystem(indexSettings) == false ||
(primary && IndexMetaData.isOnSharedFilesystem(indexSettings));
ModulesBuilder modules = new ModulesBuilder();
modules.add(new ShardsPluginsModule(indexSettings, pluginsService));
modules.add(new IndexShardModule(shardId, primary, indexSettings));
modules.add(new StoreModule(injector.getInstance(IndexStore.class).shardDirectory(), lock,
new StoreCloseListener(shardId, canDeleteShardContent, new Closeable() {
Expand All @@ -327,6 +325,12 @@ public void close() throws IOException {
}
}), path));
modules.add(new DeletionPolicyModule());

for (Module pluginModule : pluginsService.shardModules(indexSettings)) {
modules.add(pluginModule);
}
pluginsService.processModules(modules);

try {
shardInjector = modules.createChildInjector(injector);
} catch (CreationException e) {
Expand Down
34 changes: 28 additions & 6 deletions core/src/main/java/org/elasticsearch/indices/IndicesService.java
Expand Up @@ -20,7 +20,12 @@
package org.elasticsearch.indices;

import com.google.common.base.Function;
import com.google.common.collect.*;
import com.google.common.collect.ImmutableMap;
import com.google.common.collect.ImmutableSet;
import com.google.common.collect.Iterables;
import com.google.common.collect.Iterators;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
import org.apache.lucene.store.LockObtainFailedException;
import org.apache.lucene.util.CollectionUtil;
import org.apache.lucene.util.IOUtils;
Expand All @@ -35,15 +40,25 @@
import org.elasticsearch.common.Nullable;
import org.elasticsearch.common.collect.Tuple;
import org.elasticsearch.common.component.AbstractLifecycleComponent;
import org.elasticsearch.common.inject.*;
import org.elasticsearch.common.inject.CreationException;
import org.elasticsearch.common.inject.Inject;
import org.elasticsearch.common.inject.Injector;
import org.elasticsearch.common.inject.Injectors;
import org.elasticsearch.common.inject.Module;
import org.elasticsearch.common.inject.ModulesBuilder;
import org.elasticsearch.common.io.FileSystemUtils;
import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.common.unit.TimeValue;
import org.elasticsearch.common.util.concurrent.EsExecutors;
import org.elasticsearch.env.NodeEnvironment;
import org.elasticsearch.env.ShardLock;
import org.elasticsearch.gateway.MetaDataStateFormat;
import org.elasticsearch.index.*;
import org.elasticsearch.index.Index;
import org.elasticsearch.index.IndexModule;
import org.elasticsearch.index.IndexNameModule;
import org.elasticsearch.index.IndexNotFoundException;
import org.elasticsearch.index.IndexService;
import org.elasticsearch.index.LocalNodeIdModule;
import org.elasticsearch.index.aliases.IndexAliasesServiceModule;
import org.elasticsearch.index.analysis.AnalysisModule;
import org.elasticsearch.index.analysis.AnalysisService;
Expand Down Expand Up @@ -71,13 +86,16 @@
import org.elasticsearch.index.store.IndexStoreModule;
import org.elasticsearch.indices.analysis.IndicesAnalysisService;
import org.elasticsearch.indices.recovery.RecoverySettings;
import org.elasticsearch.plugins.IndexPluginsModule;
import org.elasticsearch.plugins.PluginsService;

import java.io.Closeable;
import java.io.IOException;
import java.nio.file.Files;
import java.util.*;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
Expand Down Expand Up @@ -306,7 +324,6 @@ public synchronized IndexService createIndex(String sIndexName, @IndexSettings S
modules.add(new IndexNameModule(index));
modules.add(new LocalNodeIdModule(localNodeId));
modules.add(new IndexSettingsModule(index, indexSettings));
modules.add(new IndexPluginsModule(indexSettings, pluginsService));
modules.add(new IndexStoreModule(indexSettings));
modules.add(new AnalysisModule(indexSettings, indicesAnalysisService));
modules.add(new SimilarityModule(indexSettings));
Expand All @@ -316,6 +333,11 @@ public synchronized IndexService createIndex(String sIndexName, @IndexSettings S
modules.add(new IndexAliasesServiceModule());
modules.add(new IndexModule(indexSettings));

for (Module pluginModule : pluginsService.indexModules(indexSettings)) {
modules.add(pluginModule);
}
pluginsService.processModules(modules);

Injector indexInjector;
try {
indexInjector = modules.createChildInjector(injector);
Expand Down
8 changes: 7 additions & 1 deletion core/src/main/java/org/elasticsearch/node/Node.java
Expand Up @@ -35,6 +35,7 @@
import org.elasticsearch.common.component.Lifecycle;
import org.elasticsearch.common.component.LifecycleComponent;
import org.elasticsearch.common.inject.Injector;
import org.elasticsearch.common.inject.Module;
import org.elasticsearch.common.inject.ModulesBuilder;
import org.elasticsearch.common.lease.Releasable;
import org.elasticsearch.common.lease.Releasables;
Expand Down Expand Up @@ -159,7 +160,7 @@ public Node(Settings preparedSettings, boolean loadConfigSettings) {
ModulesBuilder modules = new ModulesBuilder();
modules.add(new Version.Module(version));
modules.add(new CircuitBreakerModule(settings));
modules.add(new PluginsModule(settings, pluginsService));
modules.add(new PluginsModule(pluginsService));
modules.add(new SettingsModule(settings));
modules.add(new NodeModule(this));
modules.add(new NetworkModule());
Expand Down Expand Up @@ -187,6 +188,11 @@ public Node(Settings preparedSettings, boolean loadConfigSettings) {
modules.add(new RepositoriesModule());
modules.add(new TribeModule());

for (Module pluginModule : pluginsService.nodeModules()) {
modules.add(pluginModule);
}
pluginsService.processModules(modules);

injector = modules.createInjector();

client = injector.getInstance(Client.class);
Expand Down

This file was deleted.

0 comments on commit 2196ba7

Please sign in to comment.