Skip to content

Commit fdc9c1d

Browse files
committed
applier
1 parent c3b36e7 commit fdc9c1d

File tree

3 files changed

+8
-6
lines changed

3 files changed

+8
-6
lines changed

modules/repository-s3/src/main/java/org/elasticsearch/repositories/s3/S3PerProjectClientManager.java

+4-3
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
import org.elasticsearch.action.ActionListener;
1313
import org.elasticsearch.action.support.SubscribableListener;
1414
import org.elasticsearch.cluster.ClusterChangedEvent;
15-
import org.elasticsearch.cluster.ClusterStateListener;
15+
import org.elasticsearch.cluster.ClusterStateApplier;
1616
import org.elasticsearch.cluster.metadata.ProjectId;
1717
import org.elasticsearch.cluster.metadata.ProjectMetadata;
1818
import org.elasticsearch.common.settings.ProjectSecrets;
@@ -37,7 +37,7 @@
3737
import java.util.function.Function;
3838
import java.util.stream.Collectors;
3939

40-
public class S3PerProjectClientManager implements ClusterStateListener {
40+
public class S3PerProjectClientManager implements ClusterStateApplier {
4141

4242
private static final Logger logger = LogManager.getLogger(S3PerProjectClientManager.class);
4343
private static final String S3_SETTING_PREFIX = "s3.";
@@ -65,7 +65,8 @@ Map<ProjectId, ClientsHolder> getProjectClientsHolders() {
6565
return Map.copyOf(projectClientsHolders);
6666
}
6767

68-
public void clusterChanged(ClusterChangedEvent event) {
68+
@Override
69+
public void applyClusterState(ClusterChangedEvent event) {
6970
final Map<ProjectId, ProjectMetadata> currentProjects = event.state().metadata().projects();
7071

7172
final var updatedPerProjectClients = new HashMap<ProjectId, ClientsHolder>();

modules/repository-s3/src/main/java/org/elasticsearch/repositories/s3/S3Service.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ class S3Service extends AbstractLifecycleComponent {
155155
this::buildClientReference,
156156
clusterService.threadPool().generic()
157157
);
158-
clusterService.addListener(s3PerProjectClientManager);
158+
clusterService.addHighPriorityApplier(s3PerProjectClientManager);
159159
} else {
160160
s3PerProjectClientManager = null;
161161
}

modules/repository-s3/src/test/java/org/elasticsearch/repositories/s3/S3ServiceTests.java

+3-2
Original file line numberDiff line numberDiff line change
@@ -319,10 +319,11 @@ public void testEndpointOverrideSchemeUsesHttpIfHttpProtocolSpecified() {
319319
See the breaking changes documentation for the next major version.""", clientName));
320320
}
321321

322-
private static URI getEndpointUri(Settings.Builder settings, String clientName) {
322+
private URI getEndpointUri(Settings.Builder settings, String clientName) {
323323
return new S3Service(
324324
mock(Environment.class),
325-
Settings.EMPTY,
325+
ClusterServiceUtils.createClusterService(threadPool),
326+
TestProjectResolvers.DEFAULT_PROJECT_ONLY,
326327
mock(ResourceWatcherService.class),
327328
() -> Region.of(randomIdentifier())
328329
).buildClient(S3ClientSettings.getClientSettings(settings.build(), clientName), mock(SdkHttpClient.class))

0 commit comments

Comments
 (0)