Skip to content

Commit 18e707b

Browse files
committed
Remove usages of Metadata.Builder#putDefaultProjectCustom
And replace it with appropriate calls to the equivalent method on `ProjectMetadata.Builder`. In most cases this _does not_ make the code project aware, but does reduce the number of deprecated methods in use.
1 parent 9764730 commit 18e707b

File tree

3 files changed

+24
-38
lines changed

3 files changed

+24
-38
lines changed

server/src/main/java/org/elasticsearch/cluster/metadata/Metadata.java

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1716,13 +1716,6 @@ public Builder putCustom(String type, ProjectCustom custom) {
17161716
return putProjectCustom(type, custom);
17171717
}
17181718

1719-
@Deprecated(forRemoval = true)
1720-
public Builder putDefaultProjectCustom(String type, ProjectCustom custom) {
1721-
assert projectMetadata.containsKey(ProjectId.DEFAULT) : projectMetadata.keySet();
1722-
getProject(ProjectId.DEFAULT).putCustom(type, custom);
1723-
return this;
1724-
}
1725-
17261719
public ClusterCustom getCustom(String type) {
17271720
return customs.get(type);
17281721
}

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

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@
2929
import org.elasticsearch.cluster.SnapshotDeletionsInProgress;
3030
import org.elasticsearch.cluster.SnapshotsInProgress;
3131
import org.elasticsearch.cluster.metadata.IndexMetadata;
32-
import org.elasticsearch.cluster.metadata.Metadata;
3332
import org.elasticsearch.cluster.metadata.ProjectId;
3433
import org.elasticsearch.cluster.metadata.ProjectMetadata;
3534
import org.elasticsearch.cluster.metadata.RepositoriesMetadata;
@@ -288,8 +287,8 @@ public RegisterRepositoryTask(final RepositoriesService repositoriesService, fin
288287

289288
@Override
290289
public ClusterState execute(ClusterState currentState) {
291-
Metadata.Builder mdBuilder = Metadata.builder(currentState.metadata());
292-
RepositoriesMetadata repositories = RepositoriesMetadata.get(currentState);
290+
final var project = currentState.metadata().getDefaultProject();
291+
RepositoriesMetadata repositories = RepositoriesMetadata.get(project);
293292
List<RepositoryMetadata> repositoriesMetadata = new ArrayList<>(repositories.repositories().size() + 1);
294293
for (RepositoryMetadata repositoryMetadata : repositories.repositories()) {
295294
if (repositoryMetadata.name().equals(request.name())) {
@@ -347,10 +346,9 @@ public ClusterState execute(ClusterState currentState) {
347346
if (found == false) {
348347
repositoriesMetadata.add(new RepositoryMetadata(request.name(), request.type(), request.settings()));
349348
}
350-
repositories = new RepositoriesMetadata(repositoriesMetadata);
351-
mdBuilder.putDefaultProjectCustom(RepositoriesMetadata.TYPE, repositories);
352349
changed = true;
353-
return ClusterState.builder(currentState).metadata(mdBuilder).build();
350+
var updatedRepositories = new RepositoriesMetadata(repositoriesMetadata);
351+
return currentState.copyAndUpdateProject(project.id(), b -> b.putCustom(RepositoriesMetadata.TYPE, updatedRepositories));
354352
}
355353
}
356354

@@ -445,16 +443,18 @@ public static void updateRepositoryUuidInMetadata(
445443
new ClusterStateUpdateTask() {
446444
@Override
447445
public ClusterState execute(ClusterState currentState) {
448-
final RepositoriesMetadata currentReposMetadata = RepositoriesMetadata.get(currentState);
446+
final var project = currentState.metadata().getProject();
447+
final RepositoriesMetadata currentReposMetadata = RepositoriesMetadata.get(project);
449448

450449
final RepositoryMetadata repositoryMetadata = currentReposMetadata.repository(repositoryName);
451450
if (repositoryMetadata == null || repositoryMetadata.uuid().equals(repositoryUuid)) {
452451
return currentState;
453452
} else {
454453
final RepositoriesMetadata newReposMetadata = currentReposMetadata.withUuid(repositoryName, repositoryUuid);
455-
final Metadata.Builder metadata = Metadata.builder(currentState.metadata())
456-
.putDefaultProjectCustom(RepositoriesMetadata.TYPE, newReposMetadata);
457-
return ClusterState.builder(currentState).metadata(metadata).build();
454+
return currentState.copyAndUpdateProject(
455+
project.id(),
456+
builder -> builder.putCustom(RepositoriesMetadata.TYPE, newReposMetadata)
457+
);
458458
}
459459
}
460460

@@ -519,8 +519,8 @@ public UnregisterRepositoryTask(TimeValue dummyTimeout, String name) {
519519

520520
@Override
521521
public ClusterState execute(ClusterState currentState) {
522-
Metadata.Builder mdBuilder = Metadata.builder(currentState.metadata());
523-
RepositoriesMetadata repositories = RepositoriesMetadata.get(currentState);
522+
final var project = currentState.metadata().getDefaultProject();
523+
RepositoriesMetadata repositories = RepositoriesMetadata.get(project);
524524
if (repositories.repositories().size() > 0) {
525525
List<RepositoryMetadata> repositoriesMetadata = new ArrayList<>(repositories.repositories().size());
526526
boolean changed = false;
@@ -535,9 +535,11 @@ public ClusterState execute(ClusterState currentState) {
535535
}
536536
}
537537
if (changed) {
538-
repositories = new RepositoriesMetadata(repositoriesMetadata);
539-
mdBuilder.putDefaultProjectCustom(RepositoriesMetadata.TYPE, repositories);
540-
return ClusterState.builder(currentState).metadata(mdBuilder).build();
538+
final var updatedRepositories = new RepositoriesMetadata(repositoriesMetadata);
539+
return currentState.copyAndUpdateProject(
540+
project.id(),
541+
builder -> builder.putCustom(RepositoriesMetadata.TYPE, updatedRepositories)
542+
);
541543
}
542544
}
543545
if (Regex.isMatchAllPattern(request.name())) { // we use a wildcard so we don't barf if it's not present.

server/src/main/java/org/elasticsearch/repositories/blobstore/BlobStoreRepository.java

Lines changed: 7 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2406,16 +2406,10 @@ private ClusterState getClusterStateWithUpdatedRepositoryGeneration(ClusterState
24062406
if (repoMetadata.generation() != RepositoryData.UNKNOWN_REPO_GEN) {
24072407
throw new RepositoryException(repoMetadata.name(), "Found unexpected initialized repo metadata [" + repoMetadata + "]");
24082408
}
2409-
return ClusterState.builder(currentState)
2410-
.metadata(
2411-
Metadata.builder(currentState.getMetadata())
2412-
.putDefaultProjectCustom(
2413-
RepositoriesMetadata.TYPE,
2414-
RepositoriesMetadata.get(currentState)
2415-
.withUpdatedGeneration(repoMetadata.name(), repoData.getGenId(), repoData.getGenId())
2416-
)
2417-
)
2418-
.build();
2409+
final var project = currentState.metadata().getDefaultProject();
2410+
final var updatedMetadata = RepositoriesMetadata.get(project)
2411+
.withUpdatedGeneration(repoMetadata.name(), repoData.getGenId(), repoData.getGenId());
2412+
return currentState.copyAndUpdateProject(project.id(), builder -> builder.putCustom(RepositoriesMetadata.TYPE, updatedMetadata));
24192413
}
24202414

24212415
/**
@@ -2925,17 +2919,14 @@ public ClusterState execute(ClusterState currentState) {
29252919
+ "]"
29262920
);
29272921
}
2928-
final RepositoriesMetadata withGenerations = RepositoriesMetadata.get(currentState)
2922+
final var project = currentState.metadata().getProject();
2923+
final RepositoriesMetadata withGenerations = RepositoriesMetadata.get(project)
29292924
.withUpdatedGeneration(metadata.name(), newGen, newGen);
29302925
final RepositoriesMetadata withUuid = meta.uuid().equals(newRepositoryData.getUuid())
29312926
? withGenerations
29322927
: withGenerations.withUuid(metadata.name(), newRepositoryData.getUuid());
29332928
final ClusterState newClusterState = stateFilter.apply(
2934-
ClusterState.builder(currentState)
2935-
.metadata(
2936-
Metadata.builder(currentState.getMetadata()).putDefaultProjectCustom(RepositoriesMetadata.TYPE, withUuid)
2937-
)
2938-
.build()
2929+
currentState.copyAndUpdateProject(project.id(), b -> b.putCustom(RepositoriesMetadata.TYPE, withUuid))
29392930
);
29402931
return updateRepositoryGenerationsIfNecessary(newClusterState, expectedGen, newGen);
29412932
}

0 commit comments

Comments
 (0)