Skip to content

Commit 060a9b7

Browse files
authored
[DLM]Use default lifecycle instance instead of default constructor (#126461)
When creating the an empty lifecycle we used to use the default constructor. This is not just for efficiency but it will allow us to separate the default data and failures lifecycle in the future.
1 parent e27bffb commit 060a9b7

File tree

23 files changed

+77
-66
lines changed

23 files changed

+77
-66
lines changed

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

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ public void cleanup() {
146146

147147
public void testRolloverLifecycle() throws Exception {
148148
// empty lifecycle contains the default rollover
149-
DataStreamLifecycle.Template lifecycle = DataStreamLifecycle.Template.DEFAULT;
149+
DataStreamLifecycle.Template lifecycle = DataStreamLifecycle.Template.DATA_DEFAULT;
150150

151151
putComposableIndexTemplate("id1", null, List.of("metrics-foo*"), null, null, lifecycle, false);
152152
String dataStreamName = "metrics-foo";
@@ -353,7 +353,7 @@ public void testOriginationDate() throws Exception {
353353
}
354354

355355
public void testUpdatingLifecycleAppliesToAllBackingIndices() throws Exception {
356-
DataStreamLifecycle.Template lifecycle = DataStreamLifecycle.Template.DEFAULT;
356+
DataStreamLifecycle.Template lifecycle = DataStreamLifecycle.Template.DATA_DEFAULT;
357357

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

@@ -384,7 +384,7 @@ public void testAutomaticForceMerge() throws Exception {
384384
* because all necessary merging has already happened automatically. So in order to detect whether forcemerge has been called, we
385385
* use a SendRequestBehavior in the MockTransportService to detect it.
386386
*/
387-
DataStreamLifecycle.Template lifecycle = DataStreamLifecycle.Template.DEFAULT;
387+
DataStreamLifecycle.Template lifecycle = DataStreamLifecycle.Template.DATA_DEFAULT;
388388
disableDataStreamLifecycle();
389389
String dataStreamName = "metrics-foo";
390390
putComposableIndexTemplate(
@@ -477,7 +477,7 @@ private static void disableDataStreamLifecycle() {
477477

478478
public void testErrorRecordingOnRollover() throws Exception {
479479
// empty lifecycle contains the default rollover
480-
DataStreamLifecycle.Template lifecycle = DataStreamLifecycle.Template.DEFAULT;
480+
DataStreamLifecycle.Template lifecycle = DataStreamLifecycle.Template.DATA_DEFAULT;
481481
/*
482482
* We set index.auto_expand_replicas to 0-1 so that if we get a single-node cluster it is not yellow. The cluster being yellow
483483
* could result in data stream lifecycle's automatic forcemerge failing, which would result in an unexpected error in the error
@@ -613,7 +613,7 @@ public void testErrorRecordingOnRollover() throws Exception {
613613
public void testErrorRecordingOnRetention() throws Exception {
614614
// starting with a lifecycle without retention so we can rollover the data stream and manipulate the second generation index such
615615
// that its retention execution fails
616-
DataStreamLifecycle.Template lifecycle = DataStreamLifecycle.Template.DEFAULT;
616+
DataStreamLifecycle.Template lifecycle = DataStreamLifecycle.Template.DATA_DEFAULT;
617617

618618
/*
619619
* We set index.auto_expand_replicas to 0-1 so that if we get a single-node cluster it is not yellow. The cluster being yellow
@@ -750,7 +750,7 @@ public void testErrorRecordingOnRetention() throws Exception {
750750
}
751751

752752
public void testDataLifecycleServiceConfiguresTheMergePolicy() throws Exception {
753-
DataStreamLifecycle.Template lifecycle = DataStreamLifecycle.Template.DEFAULT;
753+
DataStreamLifecycle.Template lifecycle = DataStreamLifecycle.Template.DATA_DEFAULT;
754754

755755
putComposableIndexTemplate(
756756
"id1",

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ public void cleanup() {
9292

9393
public void testExplainLifecycle() throws Exception {
9494
// empty lifecycle contains the default rollover
95-
DataStreamLifecycle.Template lifecycle = DataStreamLifecycle.Template.DEFAULT;
95+
DataStreamLifecycle.Template lifecycle = DataStreamLifecycle.Template.DATA_DEFAULT;
9696

9797
putComposableIndexTemplate("id1", null, List.of("metrics-foo*"), null, null, lifecycle);
9898
String dataStreamName = "metrics-foo";
@@ -264,7 +264,7 @@ public void testExplainFailuresLifecycle() throws Exception {
264264
List.of("metrics-foo*"),
265265
null,
266266
null,
267-
DataStreamLifecycle.Template.DEFAULT,
267+
DataStreamLifecycle.Template.DATA_DEFAULT,
268268
new DataStreamOptions.Template(new DataStreamFailureStore.Template(true))
269269
);
270270
String dataStreamName = "metrics-foo";
@@ -381,7 +381,7 @@ public void testExplainFailuresLifecycle() throws Exception {
381381

382382
public void testExplainLifecycleForIndicesWithErrors() throws Exception {
383383
// empty lifecycle contains the default rollover
384-
DataStreamLifecycle.Template lifecycle = DataStreamLifecycle.Template.DEFAULT;
384+
DataStreamLifecycle.Template lifecycle = DataStreamLifecycle.Template.DATA_DEFAULT;
385385

386386
putComposableIndexTemplate(
387387
"id1",

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -156,7 +156,7 @@ public void testLifecycleComposition() {
156156
// Enabled is always true unless it's explicitly set to false
157157
{
158158
DataStreamLifecycle.Template lifecycle = new DataStreamLifecycle.Template(false, randomPositiveTimeValue(), randomRounds());
159-
List<DataStreamLifecycle.Template> lifecycles = List.of(lifecycle, DataStreamLifecycle.Template.DEFAULT);
159+
List<DataStreamLifecycle.Template> lifecycles = List.of(lifecycle, DataStreamLifecycle.Template.DATA_DEFAULT);
160160
DataStreamLifecycle result = composeDataLifecycles(lifecycles).build();
161161
assertThat(result.enabled(), equalTo(true));
162162
assertThat(result.dataRetention(), equalTo(lifecycle.dataRetention().get()));

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
@@ -53,7 +53,7 @@ public void testResponseIlmAndDataStreamLifecycleRepresentation() throws Excepti
5353
.setGeneration(3)
5454
.setAllowCustomRouting(true)
5555
.setIndexMode(IndexMode.STANDARD)
56-
.setLifecycle(new DataStreamLifecycle())
56+
.setLifecycle(DataStreamLifecycle.DEFAULT_DATA_LIFECYCLE)
5757
.setDataStreamOptions(DataStreamOptions.FAILURE_STORE_ENABLED)
5858
.setFailureIndices(DataStream.DataStreamIndices.failureIndicesBuilder(failureStores).build())
5959
.build();

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -247,7 +247,7 @@ public void testRetentionNotConfigured() {
247247
dataStreamName,
248248
numBackingIndices,
249249
settings(IndexVersion.current()),
250-
new DataStreamLifecycle(),
250+
DataStreamLifecycle.DEFAULT_DATA_LIFECYCLE,
251251
now
252252
);
253253
builder.put(dataStream);
@@ -496,7 +496,7 @@ public void testDeletedIndicesAreRemovedFromTheErrorStore() throws IOException {
496496
dataStreamName,
497497
numBackingIndices,
498498
Settings.builder().put(IndexMetadata.SETTING_VERSION_CREATED, IndexVersion.current()),
499-
new DataStreamLifecycle(),
499+
DataStreamLifecycle.DEFAULT_DATA_LIFECYCLE,
500500
now
501501
);
502502
builder.put(dataStream);
@@ -1482,7 +1482,7 @@ public void testTargetIndices() {
14821482
numBackingIndices,
14831483
numFailureIndices,
14841484
settings(IndexVersion.current()),
1485-
new DataStreamLifecycle(),
1485+
DataStreamLifecycle.DEFAULT_DATA_LIFECYCLE,
14861486
now
14871487
).copy().setDataStreamOptions(dataStreamOptions).build(); // failure store is managed even when disabled
14881488
builder.put(dataStream);

server/src/main/java/org/elasticsearch/action/admin/indices/template/post/TransportSimulateIndexTemplateAction.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -348,7 +348,7 @@ public static Template resolveTemplate(
348348
DataStreamLifecycle.Builder lifecycleBuilder = resolveLifecycle(simulatedProject, matchingTemplate);
349349
DataStreamLifecycle.Template lifecycle = lifecycleBuilder == null ? null : lifecycleBuilder.buildTemplate();
350350
if (template.getDataStreamTemplate() != null && lifecycle == null && isDslOnlyMode) {
351-
lifecycle = DataStreamLifecycle.Template.DEFAULT;
351+
lifecycle = DataStreamLifecycle.Template.DATA_DEFAULT;
352352
}
353353
DataStreamOptions.Builder optionsBuilder = resolveDataStreamOptions(simulatedProject, matchingTemplate);
354354
return new Template(

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

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ public static boolean isDataStreamsLifecycleOnlyMode(final Settings settings) {
8686
Setting.Property.NodeScope
8787
);
8888

89-
public static final DataStreamLifecycle DEFAULT = new DataStreamLifecycle();
89+
public static final DataStreamLifecycle DEFAULT_DATA_LIFECYCLE = new DataStreamLifecycle(null, null, null);
9090

9191
public static final String DATA_STREAM_LIFECYCLE_ORIGIN = "data_stream_lifecycle";
9292

@@ -132,10 +132,6 @@ public static boolean isDataStreamsLifecycleOnlyMode(final Settings settings) {
132132
@Nullable
133133
private final List<DownsamplingRound> downsampling;
134134

135-
public DataStreamLifecycle() {
136-
this(null, null, null);
137-
}
138-
139135
public DataStreamLifecycle(
140136
@Nullable Boolean enabled,
141137
@Nullable TimeValue dataRetention,
@@ -566,7 +562,7 @@ public Template(boolean enabled, TimeValue dataRetention, List<DataStreamLifecyc
566562
}
567563
}
568564

569-
public static final DataStreamLifecycle.Template DEFAULT = new DataStreamLifecycle.Template(
565+
public static final DataStreamLifecycle.Template DATA_DEFAULT = new DataStreamLifecycle.Template(
570566
true,
571567
ResettableValue.undefined(),
572568
ResettableValue.undefined()

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -339,7 +339,7 @@ static ClusterState createDataStream(
339339
System::currentTimeMillis,
340340
template.getDataStreamTemplate().isAllowCustomRouting(),
341341
indexMode,
342-
lifecycle == null && isDslOnlyMode ? DataStreamLifecycle.DEFAULT : lifecycle,
342+
lifecycle == null && isDslOnlyMode ? DataStreamLifecycle.DEFAULT_DATA_LIFECYCLE : lifecycle,
343343
dataStreamOptions,
344344
new DataStream.DataStreamIndices(DataStream.BACKING_INDEX_PREFIX, dsBackingIndices, false, null),
345345
// If the failure store shouldn't be initialized on data stream creation, we're marking it for "lazy rollover", which will

server/src/test/java/org/elasticsearch/action/admin/indices/template/get/GetComponentTemplateResponseTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ public void testXContentSerializationWithRolloverAndEffectiveRetention() throws
3939
Settings settings = null;
4040
CompressedXContent mappings = null;
4141
Map<String, AliasMetadata> aliases = null;
42-
DataStreamLifecycle.Template lifecycle = DataStreamLifecycle.Template.DEFAULT;
42+
DataStreamLifecycle.Template lifecycle = DataStreamLifecycle.Template.DATA_DEFAULT;
4343
ResettableValue<DataStreamOptions.Template> dataStreamOptions = ResettableValue.undefined();
4444
if (randomBoolean()) {
4545
settings = randomSettings();

server/src/test/java/org/elasticsearch/action/datastreams/lifecycle/ExplainDataStreamLifecycleResponseTests.java

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ protected NamedWriteableRegistry getNamedWriteableRegistry() {
6363
@SuppressWarnings("unchecked")
6464
public void testToXContent() throws IOException {
6565
long now = System.currentTimeMillis();
66-
DataStreamLifecycle lifecycle = new DataStreamLifecycle();
66+
DataStreamLifecycle lifecycle = DataStreamLifecycle.DEFAULT_DATA_LIFECYCLE;
6767
ExplainIndexDataStreamLifecycle explainIndex = createRandomIndexDataStreamLifecycleExplanation(now, lifecycle);
6868
explainIndex.setNowSupplier(() -> now);
6969
{
@@ -241,7 +241,7 @@ public void testToXContent() throws IOException {
241241

242242
public void testChunkCount() {
243243
long now = System.currentTimeMillis();
244-
DataStreamLifecycle lifecycle = new DataStreamLifecycle();
244+
DataStreamLifecycle lifecycle = DataStreamLifecycle.DEFAULT_DATA_LIFECYCLE;
245245
Response response = new Response(
246246
List.of(
247247
createRandomIndexDataStreamLifecycleExplanation(now, lifecycle),
@@ -298,7 +298,12 @@ protected Response mutateInstance(Response instance) {
298298

299299
private Response randomResponse() {
300300
return new Response(
301-
List.of(createRandomIndexDataStreamLifecycleExplanation(System.nanoTime(), randomBoolean() ? new DataStreamLifecycle() : null)),
301+
List.of(
302+
createRandomIndexDataStreamLifecycleExplanation(
303+
System.nanoTime(),
304+
randomBoolean() ? DataStreamLifecycle.DEFAULT_DATA_LIFECYCLE : null
305+
)
306+
),
302307
randomBoolean()
303308
? new RolloverConfiguration(
304309
new RolloverConditions(

0 commit comments

Comments
 (0)