Skip to content

Commit

Permalink
Make SwiftRepository aware of ClusterState
Browse files Browse the repository at this point in the history
SwiftRepository extends BlobStoreRepository which, as of this commit[1],
is aware of the ClusterState. This was done to facilitate this
change[2].

[1]: elastic/elasticsearch@459d8ed
[2]: elastic/elasticsearch#49060
  • Loading branch information
avgerin0s committed Aug 18, 2020
1 parent 8f818af commit 51ce47a
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 4 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
import org.elasticsearch.common.settings.Setting;
import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.common.xcontent.NamedXContentRegistry;
import org.elasticsearch.cluster.service.ClusterService;
import org.elasticsearch.env.Environment;
import org.elasticsearch.plugins.Plugin;
import org.elasticsearch.plugins.RepositoryPlugin;
Expand All @@ -41,9 +42,11 @@ protected SwiftService createStorageService(Settings settings) {
}

@Override
public Map<String, Repository.Factory> getRepositories(Environment env, NamedXContentRegistry namedXContentRegistry) {
public Map<String, Repository.Factory> getRepositories(Environment env, NamedXContentRegistry namedXContentRegistry,
ClusterService clusterService) {
return Collections.singletonMap(SwiftRepository.TYPE,
(metadata) -> new SwiftRepository(metadata, env.settings(), namedXContentRegistry, createStorageService(env.settings())));
(metadata) -> new SwiftRepository(metadata, env.settings(), namedXContentRegistry, createStorageService(env.settings()),
clusterService));
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
package org.wikimedia.elasticsearch.swift.repositories;

import org.elasticsearch.cluster.metadata.RepositoryMetaData;
import org.elasticsearch.cluster.service.ClusterService;
import org.elasticsearch.common.blobstore.BlobPath;
import org.elasticsearch.common.blobstore.BlobStore;
import org.elasticsearch.common.inject.Inject;
Expand Down Expand Up @@ -86,11 +87,14 @@ public interface Swift {
* an instance of NamedXContentRegistry
* @param swiftService
* an instance of SwiftService
* @param clusterService
* an instance of ClusterService
*/
@Inject
public SwiftRepository(RepositoryMetaData metadata, Settings settings,
NamedXContentRegistry namedXContentRegistry, SwiftService swiftService) {
super(metadata, settings, namedXContentRegistry);
NamedXContentRegistry namedXContentRegistry, SwiftService swiftService,
ClusterService clusterService) {
super(metadata, settings, namedXContentRegistry, clusterService);
this.settings = settings;
this.swiftService = swiftService;
this.chunkSize = Swift.CHUNK_SIZE_SETTING.get(metadata.settings());
Expand Down

0 comments on commit 51ce47a

Please sign in to comment.