Skip to content

Commit 251e88b

Browse files
Address review comments
1 parent a1b6ceb commit 251e88b

File tree

2 files changed

+29
-29
lines changed

2 files changed

+29
-29
lines changed

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

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -192,10 +192,14 @@ private List<IndexMetadata> updateIndices(ClusterState currentState) {
192192
private List<DataStream> updateDataStreams(ClusterState currentState) {
193193
List<DataStream> updatedDataStreams = new ArrayList<>();
194194
for (DataStream dataStream : currentState.getMetadata().dataStreams().values()) {
195-
if (dataStream.isSystem() == false && systemIndices.isSystemDataStream(dataStream.getName())) {
196-
DataStream updatedDataStream = dataStream.copy().setSystem(true).setHidden(true).build();
195+
boolean shouldBeSystem = systemIndices.isSystemDataStream(dataStream.getName());
196+
if (dataStream.isSystem() != shouldBeSystem) {
197+
DataStream.Builder dataStreamBuilder = dataStream.copy().setSystem(shouldBeSystem);
198+
if (shouldBeSystem) {
199+
dataStreamBuilder.setHidden(true);
200+
}
197201

198-
updatedDataStreams.add(updatedDataStream);
202+
updatedDataStreams.add(dataStreamBuilder.build());
199203
}
200204
}
201205
return updatedDataStreams;

server/src/test/java/org/elasticsearch/cluster/metadata/SystemIndexMetadataUpgradeServiceTests.java

Lines changed: 22 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,28 @@ public void testUpgradeDataStreamToSystemDataStream() {
110110
.setSystem(false)
111111
.build();
112112

113-
assertSystemUpgradeAppliesHiddenSettingForDataStream(dataStream, dsIndexMetadata);
113+
assertTrue(dataStream.containsIndex(dsIndexMetadata.getIndex().getName()));
114+
assertTrue("Metadata should require update but does not", service.requiresUpdate(dsIndexMetadata));
115+
116+
Metadata.Builder clusterMetadata = new Metadata.Builder();
117+
clusterMetadata.put(dataStream);
118+
clusterMetadata.put(dsIndexMetadata, true);
119+
120+
ClusterState clusterState = ClusterState.builder(new ClusterName("system-index-metadata-upgrade-service-tests"))
121+
.metadata(clusterMetadata.build())
122+
.customs(Map.of())
123+
.build();
124+
125+
// Execute a metadata upgrade task on the initial cluster state
126+
ClusterState newState = service.executeMetadataUpdateTask(clusterState);
127+
128+
DataStream updatedDataStream = newState.metadata().dataStreams().get(dataStream.getName());
129+
assertThat(updatedDataStream.isSystem(), equalTo(true));
130+
assertThat(updatedDataStream.isHidden(), equalTo(true));
131+
132+
IndexMetadata updatedIndexMetadata = newState.metadata().index(dsIndexMetadata.getIndex().getName());
133+
assertThat(updatedIndexMetadata.isSystem(), equalTo(true));
134+
assertThat(updatedIndexMetadata.isHidden(), equalTo(true));
114135
}
115136

116137
/**
@@ -265,31 +286,6 @@ private void assertSystemUpgradeAppliesHiddenSetting(IndexMetadata hiddenIndexMe
265286
assertThat(result.isHidden(), equalTo(true));
266287
}
267288

268-
private void assertSystemUpgradeAppliesHiddenSettingForDataStream(DataStream shouldBeSystemDataStream, IndexMetadata dsIndexMetadata) {
269-
assertTrue(shouldBeSystemDataStream.containsIndex(dsIndexMetadata.getIndex().getName()));
270-
assertTrue("Metadata should require update but does not", service.requiresUpdate(dsIndexMetadata));
271-
272-
Metadata.Builder clusterMetadata = new Metadata.Builder();
273-
clusterMetadata.put(shouldBeSystemDataStream);
274-
clusterMetadata.put(dsIndexMetadata, true);
275-
276-
ClusterState clusterState = ClusterState.builder(new ClusterName("system-index-metadata-upgrade-service-tests"))
277-
.metadata(clusterMetadata.build())
278-
.customs(Map.of())
279-
.build();
280-
281-
// Execute a metadata upgrade task on the initial cluster state
282-
ClusterState newState = service.executeMetadataUpdateTask(clusterState);
283-
284-
DataStream updatedDataStream = newState.metadata().dataStreams().get(shouldBeSystemDataStream.getName());
285-
assertThat(updatedDataStream.isSystem(), equalTo(true));
286-
assertThat(updatedDataStream.isHidden(), equalTo(true));
287-
288-
IndexMetadata updatedIndexMetadata = newState.metadata().index(dsIndexMetadata.getIndex().getName());
289-
assertThat(updatedIndexMetadata.isSystem(), equalTo(true));
290-
assertThat(updatedIndexMetadata.isHidden(), equalTo(true));
291-
}
292-
293289
private void assertSystemUpgradeHidesAlias(IndexMetadata visibleAliasMetadata) throws Exception {
294290
assertTrue("Metadata should require update but does not", service.requiresUpdate(visibleAliasMetadata));
295291
Metadata.Builder clusterMetadata = new Metadata.Builder();

0 commit comments

Comments
 (0)