Skip to content

Commit afd42df

Browse files
authored
Core: Deguice RepositoriesService (#36016)
This commit moves the RepositoriesService to be created outside of guice.
1 parent 4652337 commit afd42df

File tree

3 files changed

+14
-11
lines changed

3 files changed

+14
-11
lines changed

server/src/main/java/org/elasticsearch/node/Node.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,6 @@
151151
import org.elasticsearch.watcher.ResourceWatcherService;
152152

153153
import javax.net.ssl.SNIHostName;
154-
155154
import java.io.BufferedWriter;
156155
import java.io.Closeable;
157156
import java.io.IOException;
@@ -396,7 +395,6 @@ protected Node(
396395
.flatMap(p -> p.getNamedXContent().stream()),
397396
ClusterModule.getNamedXWriteables().stream())
398397
.flatMap(Function.identity()).collect(toList()));
399-
modules.add(new RepositoriesModule(this.environment, pluginsService.filterPlugins(RepositoryPlugin.class), xContentRegistry));
400398
final MetaStateService metaStateService = new MetaStateService(nodeEnvironment, xContentRegistry);
401399

402400
// collect engine factory providers from server and from plugins
@@ -478,6 +476,10 @@ protected Node(
478476
SearchExecutionStatsCollector.makeWrapper(responseCollectorService));
479477
final HttpServerTransport httpServerTransport = newHttpTransport(networkModule);
480478

479+
480+
modules.add(new RepositoriesModule(this.environment, pluginsService.filterPlugins(RepositoryPlugin.class), transportService,
481+
clusterService, threadPool, xContentRegistry));
482+
481483
final DiscoveryModule discoveryModule = new DiscoveryModule(this.settings, threadPool, transportService, namedWriteableRegistry,
482484
networkService, clusterService.getMasterService(), clusterService.getClusterApplierService(),
483485
clusterService.getClusterSettings(), pluginsService.filterPlugins(DiscoveryPlugin.class),

server/src/main/java/org/elasticsearch/repositories/RepositoriesModule.java

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,17 @@
2020
package org.elasticsearch.repositories;
2121

2222
import org.elasticsearch.action.admin.cluster.snapshots.status.TransportNodesSnapshotsStatus;
23+
import org.elasticsearch.cluster.service.ClusterService;
2324
import org.elasticsearch.common.inject.AbstractModule;
24-
import org.elasticsearch.common.inject.multibindings.MapBinder;
2525
import org.elasticsearch.common.xcontent.NamedXContentRegistry;
2626
import org.elasticsearch.env.Environment;
2727
import org.elasticsearch.plugins.RepositoryPlugin;
2828
import org.elasticsearch.repositories.fs.FsRepository;
2929
import org.elasticsearch.snapshots.RestoreService;
3030
import org.elasticsearch.snapshots.SnapshotShardsService;
3131
import org.elasticsearch.snapshots.SnapshotsService;
32+
import org.elasticsearch.threadpool.ThreadPool;
33+
import org.elasticsearch.transport.TransportService;
3234

3335
import java.util.Collections;
3436
import java.util.HashMap;
@@ -40,9 +42,10 @@
4042
*/
4143
public class RepositoriesModule extends AbstractModule {
4244

43-
private final Map<String, Repository.Factory> repositoryTypes;
45+
private final RepositoriesService repositoriesService;
4446

45-
public RepositoriesModule(Environment env, List<RepositoryPlugin> repoPlugins, NamedXContentRegistry namedXContentRegistry) {
47+
public RepositoriesModule(Environment env, List<RepositoryPlugin> repoPlugins, TransportService transportService,
48+
ClusterService clusterService, ThreadPool threadPool, NamedXContentRegistry namedXContentRegistry) {
4649
Map<String, Repository.Factory> factories = new HashMap<>();
4750
factories.put(FsRepository.TYPE, (metadata) -> new FsRepository(metadata, env, namedXContentRegistry));
4851

@@ -54,17 +57,17 @@ public RepositoriesModule(Environment env, List<RepositoryPlugin> repoPlugins, N
5457
}
5558
}
5659
}
57-
repositoryTypes = Collections.unmodifiableMap(factories);
60+
61+
Map<String, Repository.Factory> repositoryTypes = Collections.unmodifiableMap(factories);
62+
repositoriesService = new RepositoriesService(env.settings(), clusterService, transportService, repositoryTypes, threadPool);
5863
}
5964

6065
@Override
6166
protected void configure() {
62-
bind(RepositoriesService.class).asEagerSingleton();
67+
bind(RepositoriesService.class).toInstance(repositoriesService);
6368
bind(SnapshotsService.class).asEagerSingleton();
6469
bind(SnapshotShardsService.class).asEagerSingleton();
6570
bind(TransportNodesSnapshotsStatus.class).asEagerSingleton();
6671
bind(RestoreService.class).asEagerSingleton();
67-
MapBinder<String, Repository.Factory> typesBinder = MapBinder.newMapBinder(binder(), String.class, Repository.Factory.class);
68-
repositoryTypes.forEach((k, v) -> typesBinder.addBinding(k).toInstance(v));
6972
}
7073
}

server/src/main/java/org/elasticsearch/repositories/RepositoriesService.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@
3434
import org.elasticsearch.cluster.metadata.RepositoryMetaData;
3535
import org.elasticsearch.cluster.node.DiscoveryNode;
3636
import org.elasticsearch.cluster.service.ClusterService;
37-
import org.elasticsearch.common.inject.Inject;
3837
import org.elasticsearch.common.regex.Regex;
3938
import org.elasticsearch.common.settings.Settings;
4039
import org.elasticsearch.snapshots.RestoreService;
@@ -68,7 +67,6 @@ public class RepositoriesService implements ClusterStateApplier {
6867

6968
private volatile Map<String, Repository> repositories = Collections.emptyMap();
7069

71-
@Inject
7270
public RepositoriesService(Settings settings, ClusterService clusterService, TransportService transportService,
7371
Map<String, Repository.Factory> typesRegistry,
7472
ThreadPool threadPool) {

0 commit comments

Comments
 (0)