Skip to content

Commit 17f2738

Browse files
committed
Create dedicated factory methods for data lifecycle
1 parent aab40b1 commit 17f2738

File tree

29 files changed

+136
-112
lines changed

29 files changed

+136
-112
lines changed

modules/data-streams/src/internalClusterTest/java/org/elasticsearch/datastreams/DataStreamIT.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1384,7 +1384,9 @@ public void testSearchAllResolvesDataStreams() throws Exception {
13841384

13851385
public void testGetDataStream() throws Exception {
13861386
Settings settings = Settings.builder().put(IndexMetadata.SETTING_NUMBER_OF_REPLICAS, maximumNumberOfReplicas() + 2).build();
1387-
DataStreamLifecycle.Template lifecycle = DataStreamLifecycle.builder().dataRetention(randomPositiveTimeValue()).buildTemplate();
1387+
DataStreamLifecycle.Template lifecycle = DataStreamLifecycle.dataLifecycleBuilder()
1388+
.dataRetention(randomPositiveTimeValue())
1389+
.buildTemplate();
13881390
putComposableIndexTemplate("template_for_foo", null, List.of("metrics-foo*"), settings, null, null, lifecycle, false);
13891391
int numDocsFoo = randomIntBetween(2, 16);
13901392
indexDocs("metrics-foo", numDocsFoo);

modules/data-streams/src/internalClusterTest/java/org/elasticsearch/datastreams/lifecycle/CrudDataStreamLifecycleIT.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -226,7 +226,9 @@ public void testPutLifecycle() throws Exception {
226226
}
227227

228228
public void testDeleteLifecycle() throws Exception {
229-
DataStreamLifecycle.Template lifecycle = DataStreamLifecycle.builder().dataRetention(randomPositiveTimeValue()).buildTemplate();
229+
DataStreamLifecycle.Template lifecycle = DataStreamLifecycle.dataLifecycleBuilder()
230+
.dataRetention(randomPositiveTimeValue())
231+
.buildTemplate();
230232
putComposableIndexTemplate("id1", null, List.of("with-lifecycle*"), null, null, lifecycle);
231233
putComposableIndexTemplate("id2", null, List.of("without-lifecycle*"), null, null, null);
232234
{

modules/data-streams/src/internalClusterTest/java/org/elasticsearch/datastreams/lifecycle/CrudSystemDataStreamLifecycleIT.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -207,7 +207,7 @@ public Collection<SystemDataStreamDescriptor> getSystemDataStreamDescriptors() {
207207
Template.builder()
208208
.settings(Settings.EMPTY)
209209
.mappings(mappings)
210-
.lifecycle(DataStreamLifecycle.builder().dataRetention(randomPositiveTimeValue()))
210+
.lifecycle(DataStreamLifecycle.dataLifecycleBuilder().dataRetention(randomPositiveTimeValue()))
211211
)
212212
.dataStreamTemplate(new DataStreamTemplate())
213213
.build(),

modules/data-streams/src/internalClusterTest/java/org/elasticsearch/datastreams/lifecycle/DataStreamLifecycleServiceIT.java

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@ public void testRolloverLifecycle() throws Exception {
168168
}
169169

170170
public void testRolloverAndRetention() throws Exception {
171-
DataStreamLifecycle.Template lifecycle = DataStreamLifecycle.builder().dataRetention(TimeValue.ZERO).buildTemplate();
171+
DataStreamLifecycle.Template lifecycle = DataStreamLifecycle.dataLifecycleBuilder().dataRetention(TimeValue.ZERO).buildTemplate();
172172

173173
putComposableIndexTemplate("id1", null, List.of("metrics-foo*"), null, null, lifecycle, false);
174174

@@ -290,7 +290,9 @@ public void testOriginationDate() throws Exception {
290290
* days ago, and one with an origination date 1 day ago. After data stream lifecycle runs, we expect the one with the old
291291
* origination date to have been deleted, and the one with the newer origination date to remain.
292292
*/
293-
DataStreamLifecycle.Template lifecycle = DataStreamLifecycle.builder().dataRetention(TimeValue.timeValueDays(7)).buildTemplate();
293+
DataStreamLifecycle.Template lifecycle = DataStreamLifecycle.dataLifecycleBuilder()
294+
.dataRetention(TimeValue.timeValueDays(7))
295+
.buildTemplate();
294296

295297
putComposableIndexTemplate("id1", null, List.of("metrics-foo*"), null, null, lifecycle, false);
296298

@@ -836,7 +838,7 @@ public void testDataLifecycleServiceConfiguresTheMergePolicy() throws Exception
836838

837839
public void testReenableDataStreamLifecycle() throws Exception {
838840
// start with a lifecycle that's not enabled
839-
DataStreamLifecycle.Template lifecycle = DataStreamLifecycle.builder().enabled(false).buildTemplate();
841+
DataStreamLifecycle.Template lifecycle = DataStreamLifecycle.dataLifecycleBuilder().enabled(false).buildTemplate();
840842

841843
putComposableIndexTemplate("id1", null, List.of("metrics-foo*"), null, null, lifecycle, false);
842844
String dataStreamName = "metrics-foo";
@@ -892,7 +894,7 @@ public void testReenableDataStreamLifecycle() throws Exception {
892894

893895
public void testLifecycleAppliedToFailureStore() throws Exception {
894896
// We configure a lifecycle with downsampling to ensure it doesn't fail
895-
DataStreamLifecycle.Template lifecycle = DataStreamLifecycle.builder()
897+
DataStreamLifecycle.Template lifecycle = DataStreamLifecycle.dataLifecycleBuilder()
896898
.dataRetention(TimeValue.timeValueSeconds(20))
897899
.downsampling(
898900
List.of(
@@ -1088,7 +1090,8 @@ public Collection<SystemDataStreamDescriptor> getSystemDataStreamDescriptors() {
10881090
Template.builder()
10891091
.settings(Settings.EMPTY)
10901092
.lifecycle(
1091-
DataStreamLifecycle.builder().dataRetention(TimeValue.timeValueDays(SYSTEM_DATA_STREAM_RETENTION_DAYS))
1093+
DataStreamLifecycle.dataLifecycleBuilder()
1094+
.dataRetention(TimeValue.timeValueDays(SYSTEM_DATA_STREAM_RETENTION_DAYS))
10921095
)
10931096
)
10941097
.build(),

modules/data-streams/src/internalClusterTest/java/org/elasticsearch/datastreams/lifecycle/ExplainDataStreamLifecycleIT.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -501,7 +501,7 @@ public void testExplainDataStreamLifecycleForUnmanagedIndices() throws Exception
501501
List.of("metrics-foo*"),
502502
null,
503503
null,
504-
DataStreamLifecycle.builder().enabled(false).buildTemplate()
504+
DataStreamLifecycle.dataLifecycleBuilder().enabled(false).buildTemplate()
505505
);
506506
CreateDataStreamAction.Request createDataStreamRequest = new CreateDataStreamAction.Request(
507507
TEST_REQUEST_TIMEOUT,

modules/data-streams/src/test/java/org/elasticsearch/datastreams/action/GetDataStreamsResponseTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -158,7 +158,7 @@ public void testResponseIlmAndDataStreamLifecycleRepresentation() throws Excepti
158158
.setGeneration(3)
159159
.setAllowCustomRouting(true)
160160
.setIndexMode(IndexMode.STANDARD)
161-
.setLifecycle(new DataStreamLifecycle(false, null, null))
161+
.setLifecycle(DataStreamLifecycle.createDataLifecycle(false, null, null))
162162
.setDataStreamOptions(DataStreamOptions.FAILURE_STORE_ENABLED)
163163
.setFailureIndices(DataStream.DataStreamIndices.failureIndicesBuilder(failureStores).build())
164164
.build();

modules/data-streams/src/test/java/org/elasticsearch/datastreams/lifecycle/DataStreamLifecycleServiceTests.java

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -206,7 +206,7 @@ public void testOperationsExecutedOnce() {
206206
numBackingIndices,
207207
2,
208208
settings(IndexVersion.current()),
209-
DataStreamLifecycle.builder().dataRetention(TimeValue.ZERO).build(),
209+
DataStreamLifecycle.dataLifecycleBuilder().dataRetention(TimeValue.ZERO).build(),
210210
now
211211
);
212212
builder.put(dataStream);
@@ -269,7 +269,7 @@ public void testRetentionNotExecutedDueToAge() {
269269
numBackingIndices,
270270
numFailureIndices,
271271
settings(IndexVersion.current()),
272-
DataStreamLifecycle.builder().dataRetention(TimeValue.timeValueDays(700)).build(),
272+
DataStreamLifecycle.dataLifecycleBuilder().dataRetention(TimeValue.timeValueDays(700)).build(),
273273
now
274274
);
275275
builder.put(dataStream);
@@ -304,7 +304,7 @@ public void testRetentionNotExecutedForTSIndicesWithinTimeBounds() {
304304
dataStream.copy()
305305
.setName(dataStreamName)
306306
.setGeneration(dataStream.getGeneration() + 1)
307-
.setLifecycle(DataStreamLifecycle.builder().dataRetention(TimeValue.ZERO).build())
307+
.setLifecycle(DataStreamLifecycle.dataLifecycleBuilder().dataRetention(TimeValue.ZERO).build())
308308
.build()
309309
);
310310
clusterState = ClusterState.builder(clusterState).putProjectMetadata(builder).build();
@@ -343,7 +343,7 @@ public void testMergePolicyNotExecutedForTSIndicesWithinTimeBounds() {
343343
dataStream.copy()
344344
.setName(dataStreamName)
345345
.setGeneration(dataStream.getGeneration() + 1)
346-
.setLifecycle(DataStreamLifecycle.builder().build())
346+
.setLifecycle(DataStreamLifecycle.dataLifecycleBuilder().build())
347347
.build()
348348
);
349349
clusterState = ClusterState.builder(clusterState).putProjectMetadata(builder).build();
@@ -378,7 +378,7 @@ public void testRetentionSkippedWhilstDownsamplingInProgress() {
378378
dataStreamName,
379379
numBackingIndices,
380380
settings(IndexVersion.current()),
381-
DataStreamLifecycle.builder().dataRetention(TimeValue.timeValueMillis(0)).build(),
381+
DataStreamLifecycle.dataLifecycleBuilder().dataRetention(TimeValue.timeValueMillis(0)).build(),
382382
now
383383
);
384384
builder.put(dataStream);
@@ -456,7 +456,7 @@ public void testIlmManagedIndicesAreSkipped() {
456456
Settings.builder()
457457
.put(IndexMetadata.LIFECYCLE_NAME, "ILM_policy")
458458
.put(IndexMetadata.SETTING_VERSION_CREATED, IndexVersion.current()),
459-
DataStreamLifecycle.builder().dataRetention(TimeValue.ZERO).build(),
459+
DataStreamLifecycle.dataLifecycleBuilder().dataRetention(TimeValue.ZERO).build(),
460460
now
461461
);
462462
builder.put(dataStream);
@@ -548,7 +548,7 @@ public void testErrorStoreIsClearedOnBackingIndexBecomingUnmanaged() {
548548
dataStreamName,
549549
numBackingIndices,
550550
settings(IndexVersion.current()),
551-
DataStreamLifecycle.builder().dataRetention(TimeValue.timeValueDays(700)).build(),
551+
DataStreamLifecycle.dataLifecycleBuilder().dataRetention(TimeValue.timeValueDays(700)).build(),
552552
now
553553
);
554554
// all backing indices are in the error store
@@ -586,7 +586,7 @@ public void testBackingIndicesFromMultipleDataStreamsInErrorStore() {
586586
ilmManagedDataStreamName,
587587
3,
588588
settings(IndexVersion.current()),
589-
DataStreamLifecycle.builder().dataRetention(TimeValue.timeValueDays(700)).build(),
589+
DataStreamLifecycle.dataLifecycleBuilder().dataRetention(TimeValue.timeValueDays(700)).build(),
590590
now
591591
);
592592
// all backing indices are in the error store
@@ -600,7 +600,7 @@ public void testBackingIndicesFromMultipleDataStreamsInErrorStore() {
600600
dataStreamWithBackingIndicesInErrorState,
601601
5,
602602
settings(IndexVersion.current()),
603-
DataStreamLifecycle.builder().dataRetention(TimeValue.timeValueDays(700)).build(),
603+
DataStreamLifecycle.dataLifecycleBuilder().dataRetention(TimeValue.timeValueDays(700)).build(),
604604
now
605605
);
606606
// put all backing indices in the error store
@@ -652,7 +652,7 @@ public void testForceMerge() throws Exception {
652652
numBackingIndices,
653653
settings(IndexVersion.current()).put(MergePolicyConfig.INDEX_MERGE_POLICY_FLOOR_SEGMENT_SETTING.getKey(), ONE_HUNDRED_MB)
654654
.put(MergePolicyConfig.INDEX_MERGE_POLICY_MERGE_FACTOR_SETTING.getKey(), TARGET_MERGE_FACTOR_VALUE),
655-
DataStreamLifecycle.builder().dataRetention(TimeValue.MAX_VALUE).build(),
655+
DataStreamLifecycle.dataLifecycleBuilder().dataRetention(TimeValue.MAX_VALUE).build(),
656656
now
657657
);
658658
builder.put(dataStream);
@@ -754,7 +754,7 @@ public void testForceMergeRetries() throws Exception {
754754
numBackingIndices,
755755
settings(IndexVersion.current()).put(MergePolicyConfig.INDEX_MERGE_POLICY_FLOOR_SEGMENT_SETTING.getKey(), ONE_HUNDRED_MB)
756756
.put(MergePolicyConfig.INDEX_MERGE_POLICY_MERGE_FACTOR_SETTING.getKey(), TARGET_MERGE_FACTOR_VALUE),
757-
DataStreamLifecycle.builder().dataRetention(TimeValue.MAX_VALUE).build(),
757+
DataStreamLifecycle.dataLifecycleBuilder().dataRetention(TimeValue.MAX_VALUE).build(),
758758
now
759759
);
760760
builder.put(dataStream);
@@ -916,7 +916,7 @@ public void testForceMergeDedup() throws Exception {
916916
1L,
917917
null,
918918
false,
919-
DataStreamLifecycle.builder().dataRetention(TimeValue.MAX_VALUE).build()
919+
DataStreamLifecycle.dataLifecycleBuilder().dataRetention(TimeValue.MAX_VALUE).build()
920920
);
921921

922922
ProjectMetadata.Builder builder = ProjectMetadata.builder(randomProjectIdOrDefault()).put(newIndexMetadata, true).put(dataStream);
@@ -1091,7 +1091,7 @@ public void testMergePolicySettingsAreConfiguredBeforeForcemerge() throws Except
10911091
dataStreamName,
10921092
numBackingIndices,
10931093
settings(IndexVersion.current()),
1094-
DataStreamLifecycle.builder().dataRetention(TimeValue.MAX_VALUE).build(),
1094+
DataStreamLifecycle.dataLifecycleBuilder().dataRetention(TimeValue.MAX_VALUE).build(),
10951095
now
10961096
);
10971097
builder.put(dataStream);
@@ -1173,7 +1173,7 @@ public void testDownsampling() throws Exception {
11731173
.put(MergePolicyConfig.INDEX_MERGE_POLICY_MERGE_FACTOR_SETTING.getKey(), TARGET_MERGE_FACTOR_VALUE)
11741174
.put(IndexSettings.MODE.getKey(), IndexMode.TIME_SERIES)
11751175
.put("index.routing_path", "@timestamp"),
1176-
DataStreamLifecycle.builder()
1176+
DataStreamLifecycle.dataLifecycleBuilder()
11771177
.downsampling(
11781178
List.of(new DownsamplingRound(TimeValue.timeValueMillis(0), new DownsampleConfig(new DateHistogramInterval("5m"))))
11791179
)
@@ -1322,7 +1322,7 @@ public void testDownsamplingWhenTargetIndexNameClashYieldsException() throws Exc
13221322
.put(MergePolicyConfig.INDEX_MERGE_POLICY_MERGE_FACTOR_SETTING.getKey(), TARGET_MERGE_FACTOR_VALUE)
13231323
.put(IndexSettings.MODE.getKey(), IndexMode.TIME_SERIES)
13241324
.put("index.routing_path", "@timestamp"),
1325-
DataStreamLifecycle.builder()
1325+
DataStreamLifecycle.dataLifecycleBuilder()
13261326
.downsampling(
13271327
List.of(new DownsamplingRound(TimeValue.timeValueMillis(0), new DownsampleConfig(new DateHistogramInterval("5m"))))
13281328
)
@@ -1512,7 +1512,7 @@ public void testFailureStoreIsManagedEvenWhenDisabled() {
15121512
numBackingIndices,
15131513
2,
15141514
settings(IndexVersion.current()),
1515-
DataStreamLifecycle.builder().dataRetention(TimeValue.ZERO).build(),
1515+
DataStreamLifecycle.dataLifecycleBuilder().dataRetention(TimeValue.ZERO).build(),
15161516
now
15171517
).copy().setDataStreamOptions(DataStreamOptions.FAILURE_STORE_DISABLED).build(); // failure store is managed even when disabled
15181518
builder.put(dataStream);
@@ -1581,7 +1581,7 @@ private ClusterState downsampleSetup(ProjectId projectId, String dataStreamName,
15811581
2,
15821582
settings(IndexVersion.current()).put(IndexSettings.MODE.getKey(), IndexMode.TIME_SERIES)
15831583
.put("index.routing_path", "@timestamp"),
1584-
DataStreamLifecycle.builder()
1584+
DataStreamLifecycle.dataLifecycleBuilder()
15851585
.downsampling(
15861586
List.of(new DownsamplingRound(TimeValue.timeValueMillis(0), new DownsampleConfig(new DateHistogramInterval("5m"))))
15871587
)

modules/data-streams/src/test/java/org/elasticsearch/datastreams/lifecycle/action/TransportGetDataStreamLifecycleStatsActionTests.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ public void testMixedDataStreams() {
9595
"dsl-managed-index",
9696
numBackingIndices,
9797
settings(IndexVersion.current()),
98-
DataStreamLifecycle.builder().dataRetention(TimeValue.timeValueDays(10)).build(),
98+
DataStreamLifecycle.dataLifecycleBuilder().dataRetention(TimeValue.timeValueDays(10)).build(),
9999
Clock.systemUTC().millis()
100100
);
101101
indicesInError.add(dslDataStream.getIndices().get(randomInt(numBackingIndices - 1)).getName());
@@ -131,7 +131,7 @@ public void testMixedDataStreams() {
131131
IndexMetadata indexMetadata = indexMetaBuilder.build();
132132
builder.put(indexMetadata, false);
133133
backingIndices.add(indexMetadata.getIndex());
134-
builder.put(newInstance(dataStreamName, backingIndices, 3, null, false, DataStreamLifecycle.builder().build()));
134+
builder.put(newInstance(dataStreamName, backingIndices, 3, null, false, DataStreamLifecycle.dataLifecycleBuilder().build()));
135135
}
136136
ProjectMetadata project = builder.build();
137137
when(errorStore.getAllIndices(project.id())).thenReturn(indicesInError);

modules/data-streams/src/test/java/org/elasticsearch/datastreams/lifecycle/downsampling/DeleteSourceAndAddDownsampleToDSTests.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ public void testDownsampleIndexMissingIsNoOp() {
5252
dataStreamName,
5353
numBackingIndices,
5454
settings(IndexVersion.current()),
55-
DataStreamLifecycle.builder().dataRetention(TimeValue.MAX_VALUE).build(),
55+
DataStreamLifecycle.dataLifecycleBuilder().dataRetention(TimeValue.MAX_VALUE).build(),
5656
now
5757
);
5858
builder.put(dataStream);
@@ -80,7 +80,7 @@ public void testDownsampleIsAddedToDSEvenIfSourceDeleted() {
8080
dataStreamName,
8181
numBackingIndices,
8282
settings(IndexVersion.current()),
83-
DataStreamLifecycle.builder().dataRetention(TimeValue.MAX_VALUE).build(),
83+
DataStreamLifecycle.dataLifecycleBuilder().dataRetention(TimeValue.MAX_VALUE).build(),
8484
now
8585
);
8686
String firstGenIndex = DataStream.getDefaultBackingIndexName(dataStreamName, 1);
@@ -125,7 +125,7 @@ public void testSourceIndexIsWriteIndexThrowsException() {
125125
dataStreamName,
126126
numBackingIndices,
127127
settings(IndexVersion.current()),
128-
DataStreamLifecycle.builder().dataRetention(TimeValue.MAX_VALUE).build(),
128+
DataStreamLifecycle.dataLifecycleBuilder().dataRetention(TimeValue.MAX_VALUE).build(),
129129
now
130130
);
131131
builder.put(dataStream);
@@ -159,7 +159,7 @@ public void testSourceIsDeleteAndDownsampleOriginationDateIsConfigured() {
159159
dataStreamName,
160160
numBackingIndices,
161161
settings(IndexVersion.current()),
162-
DataStreamLifecycle.builder().dataRetention(TimeValue.MAX_VALUE).build(),
162+
DataStreamLifecycle.dataLifecycleBuilder().dataRetention(TimeValue.MAX_VALUE).build(),
163163
now
164164
);
165165
String firstGenIndex = DataStream.getDefaultBackingIndexName(dataStreamName, 1);
@@ -221,7 +221,7 @@ public void testSourceWithoutLifecycleMetaAndDestWithOriginationDateAlreadyConfi
221221
dataStreamName,
222222
numBackingIndices,
223223
settings(IndexVersion.current()),
224-
DataStreamLifecycle.builder().dataRetention(TimeValue.MAX_VALUE).build(),
224+
DataStreamLifecycle.dataLifecycleBuilder().dataRetention(TimeValue.MAX_VALUE).build(),
225225
now
226226
);
227227
String firstGenIndex = DataStream.getDefaultBackingIndexName(dataStreamName, 1);
@@ -272,7 +272,7 @@ public void testSourceIndexIsDeleteEvenIfNotPartOfDSAnymore() {
272272
dataStreamName,
273273
numBackingIndices,
274274
settings(IndexVersion.current()),
275-
DataStreamLifecycle.builder().dataRetention(TimeValue.MAX_VALUE).build(),
275+
DataStreamLifecycle.dataLifecycleBuilder().dataRetention(TimeValue.MAX_VALUE).build(),
276276
now
277277
);
278278
String firstGenIndex = DataStream.getDefaultBackingIndexName(dataStreamName, 1);

server/src/main/java/org/elasticsearch/action/datastreams/lifecycle/PutDataStreamLifecycleAction.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ public Request(
149149
) {
150150
super(masterNodeTimeout, ackTimeout);
151151
this.names = names;
152-
this.lifecycle = DataStreamLifecycle.builder()
152+
this.lifecycle = DataStreamLifecycle.dataLifecycleBuilder()
153153
.dataRetention(dataRetention)
154154
.enabled(enabled == null || enabled)
155155
.downsampling(downsampling)

0 commit comments

Comments
 (0)