Skip to content

Commit 5be35a6

Browse files
committed
Create data lifecycle template factory method
1 parent 17f2738 commit 5be35a6

File tree

2 files changed

+24
-4
lines changed

2 files changed

+24
-4
lines changed

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

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,11 @@ public void testLifecycleComposition() {
155155
// If the last lifecycle is missing a property (apart from enabled) we keep the latest from the previous ones
156156
// Enabled is always true unless it's explicitly set to false
157157
{
158-
DataStreamLifecycle.Template lifecycle = new DataStreamLifecycle.Template(false, randomPositiveTimeValue(), randomRounds());
158+
DataStreamLifecycle.Template lifecycle = DataStreamLifecycle.createDataLifecycleTemplate(
159+
false,
160+
randomPositiveTimeValue(),
161+
randomRounds()
162+
);
159163
List<DataStreamLifecycle.Template> lifecycles = List.of(lifecycle, DataStreamLifecycle.Template.DATA_DEFAULT);
160164
DataStreamLifecycle result = composeDataLifecycles(lifecycles).build();
161165
assertThat(result.enabled(), equalTo(true));
@@ -164,8 +168,16 @@ public void testLifecycleComposition() {
164168
}
165169
// If both lifecycle have all properties, then the latest one overwrites all the others
166170
{
167-
DataStreamLifecycle.Template lifecycle1 = new DataStreamLifecycle.Template(false, randomPositiveTimeValue(), randomRounds());
168-
DataStreamLifecycle.Template lifecycle2 = new DataStreamLifecycle.Template(true, randomPositiveTimeValue(), randomRounds());
171+
DataStreamLifecycle.Template lifecycle1 = DataStreamLifecycle.createDataLifecycleTemplate(
172+
false,
173+
randomPositiveTimeValue(),
174+
randomRounds()
175+
);
176+
DataStreamLifecycle.Template lifecycle2 = DataStreamLifecycle.createDataLifecycleTemplate(
177+
true,
178+
randomPositiveTimeValue(),
179+
randomRounds()
180+
);
169181
List<DataStreamLifecycle.Template> lifecycles = List.of(lifecycle1, lifecycle2);
170182
DataStreamLifecycle result = composeDataLifecycles(lifecycles).build();
171183
assertThat(result.enabled(), equalTo(lifecycle2.enabled()));

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

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -552,6 +552,14 @@ public String toString() {
552552
}
553553
}
554554

555+
public static Template createDataLifecycleTemplate(
556+
boolean enabled,
557+
TimeValue dataRetention,
558+
List<DataStreamLifecycle.DownsamplingRound> downsampling
559+
) {
560+
return new Template(enabled, ResettableValue.create(dataRetention), ResettableValue.create(downsampling));
561+
}
562+
555563
/**
556564
* Represents the template configuration of a lifecycle. It supports explicitly resettable values
557565
* to allow value reset during template composition.
@@ -562,7 +570,7 @@ public record Template(
562570
ResettableValue<List<DataStreamLifecycle.DownsamplingRound>> downsampling
563571
) implements ToXContentObject, Writeable {
564572

565-
public Template(boolean enabled, TimeValue dataRetention, List<DataStreamLifecycle.DownsamplingRound> downsampling) {
573+
Template(boolean enabled, TimeValue dataRetention, List<DataStreamLifecycle.DownsamplingRound> downsampling) {
566574
this(enabled, ResettableValue.create(dataRetention), ResettableValue.create(downsampling));
567575
}
568576

0 commit comments

Comments
 (0)