Skip to content

Commit 6a9708c

Browse files
gmaroulidavidkyle
authored andcommitted
Clean up factory retention settings from elasticsearch (elastic#114396)
This removes the possibility for a plugin to provide factory retention settings. Factory retention settings have been deprecated and completely replaced by elastic#111972. Note: this feature is not in use. If someone wants to set global retention they can use the cluster settings as defined in elastic#111972.
1 parent c36ac8f commit 6a9708c

File tree

12 files changed

+21
-173
lines changed

12 files changed

+21
-173
lines changed

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

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
import org.elasticsearch.cluster.ClusterState;
1414
import org.elasticsearch.cluster.metadata.ComponentTemplate;
1515
import org.elasticsearch.cluster.metadata.ComposableIndexTemplate;
16-
import org.elasticsearch.cluster.metadata.DataStreamFactoryRetention;
1716
import org.elasticsearch.cluster.metadata.DataStreamGlobalRetentionSettings;
1817
import org.elasticsearch.cluster.metadata.DataStreamLifecycle;
1918
import org.elasticsearch.cluster.metadata.MetadataCreateIndexService;
@@ -217,10 +216,7 @@ private MetadataIndexTemplateService getMetadataIndexTemplateService() {
217216
xContentRegistry(),
218217
EmptySystemIndices.INSTANCE,
219218
indexSettingProviders,
220-
DataStreamGlobalRetentionSettings.create(
221-
ClusterSettings.createBuiltInClusterSettings(),
222-
DataStreamFactoryRetention.emptyFactoryRetention()
223-
)
219+
DataStreamGlobalRetentionSettings.create(ClusterSettings.createBuiltInClusterSettings())
224220
);
225221
}
226222

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

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
import org.elasticsearch.cluster.ClusterName;
1313
import org.elasticsearch.cluster.ClusterState;
1414
import org.elasticsearch.cluster.metadata.DataStream;
15-
import org.elasticsearch.cluster.metadata.DataStreamFactoryRetention;
1615
import org.elasticsearch.cluster.metadata.DataStreamGlobalRetention;
1716
import org.elasticsearch.cluster.metadata.DataStreamGlobalRetentionSettings;
1817
import org.elasticsearch.cluster.metadata.DataStreamTestHelper;
@@ -47,8 +46,7 @@ public class TransportGetDataStreamsActionTests extends ESTestCase {
4746
private final IndexNameExpressionResolver resolver = TestIndexNameExpressionResolver.newInstance();
4847
private final SystemIndices systemIndices = new SystemIndices(List.of());
4948
private final DataStreamGlobalRetentionSettings dataStreamGlobalRetentionSettings = DataStreamGlobalRetentionSettings.create(
50-
ClusterSettings.createBuiltInClusterSettings(),
51-
DataStreamFactoryRetention.emptyFactoryRetention()
49+
ClusterSettings.createBuiltInClusterSettings()
5250
);
5351

5452
public void testGetDataStream() {
@@ -356,8 +354,7 @@ public void testPassingGlobalRetention() {
356354
)
357355
.put(DataStreamGlobalRetentionSettings.DATA_STREAMS_MAX_RETENTION_SETTING.getKey(), globalRetention.maxRetention())
358356
.build()
359-
),
360-
DataStreamFactoryRetention.emptyFactoryRetention()
357+
)
361358
);
362359
response = TransportGetDataStreamsAction.innerOperation(
363360
state,

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

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,6 @@
3737
import org.elasticsearch.cluster.block.ClusterBlock;
3838
import org.elasticsearch.cluster.block.ClusterBlocks;
3939
import org.elasticsearch.cluster.metadata.DataStream;
40-
import org.elasticsearch.cluster.metadata.DataStreamFactoryRetention;
4140
import org.elasticsearch.cluster.metadata.DataStreamGlobalRetentionSettings;
4241
import org.elasticsearch.cluster.metadata.DataStreamLifecycle;
4342
import org.elasticsearch.cluster.metadata.DataStreamLifecycle.Downsampling;
@@ -142,8 +141,7 @@ public class DataStreamLifecycleServiceTests extends ESTestCase {
142141
private DoExecuteDelegate clientDelegate;
143142
private ClusterService clusterService;
144143
private final DataStreamGlobalRetentionSettings globalRetentionSettings = DataStreamGlobalRetentionSettings.create(
145-
ClusterSettings.createBuiltInClusterSettings(),
146-
DataStreamFactoryRetention.emptyFactoryRetention()
144+
ClusterSettings.createBuiltInClusterSettings()
147145
);
148146

149147
@Before

server/src/main/java/module-info.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -416,7 +416,6 @@
416416
uses org.elasticsearch.internal.BuildExtension;
417417
uses org.elasticsearch.features.FeatureSpecification;
418418
uses org.elasticsearch.plugins.internal.LoggingDataProvider;
419-
uses org.elasticsearch.cluster.metadata.DataStreamFactoryRetention;
420419

421420
provides org.elasticsearch.features.FeatureSpecification
422421
with

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

Lines changed: 0 additions & 79 deletions
This file was deleted.

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

Lines changed: 6 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,6 @@
2626
* The global retention settings apply to non-system data streams that are managed by the data stream lifecycle. They consist of:
2727
* - The default retention which applies to data streams that do not have a retention defined.
2828
* - The max retention which applies to all data streams that do not have retention or their retention has exceeded this value.
29-
* <p>
30-
* Temporarily, we fall back to {@link DataStreamFactoryRetention} to facilitate a smooth transition to these settings.
3129
*/
3230
public class DataStreamGlobalRetentionSettings {
3331

@@ -84,42 +82,35 @@ public Iterator<Setting<?>> settings() {
8482
Setting.Property.Dynamic
8583
);
8684

87-
private final DataStreamFactoryRetention factoryRetention;
88-
8985
@Nullable
9086
private volatile TimeValue defaultRetention;
9187
@Nullable
9288
private volatile TimeValue maxRetention;
9389

94-
private DataStreamGlobalRetentionSettings(DataStreamFactoryRetention factoryRetention) {
95-
this.factoryRetention = factoryRetention;
90+
private DataStreamGlobalRetentionSettings() {
91+
9692
}
9793

9894
@Nullable
9995
public TimeValue getMaxRetention() {
100-
return shouldFallbackToFactorySettings() ? factoryRetention.getMaxRetention() : maxRetention;
96+
return maxRetention;
10197
}
10298

10399
@Nullable
104100
public TimeValue getDefaultRetention() {
105-
return shouldFallbackToFactorySettings() ? factoryRetention.getDefaultRetention() : defaultRetention;
101+
return defaultRetention;
106102
}
107103

108104
public boolean areDefined() {
109105
return getDefaultRetention() != null || getMaxRetention() != null;
110106
}
111107

112-
private boolean shouldFallbackToFactorySettings() {
113-
return defaultRetention == null && maxRetention == null;
114-
}
115-
116108
/**
117109
* Creates an instance and initialises the cluster settings listeners
118110
* @param clusterSettings it will register the cluster settings listeners to monitor for changes
119-
* @param factoryRetention for migration purposes, it will be removed shortly
120111
*/
121-
public static DataStreamGlobalRetentionSettings create(ClusterSettings clusterSettings, DataStreamFactoryRetention factoryRetention) {
122-
DataStreamGlobalRetentionSettings dataStreamGlobalRetentionSettings = new DataStreamGlobalRetentionSettings(factoryRetention);
112+
public static DataStreamGlobalRetentionSettings create(ClusterSettings clusterSettings) {
113+
DataStreamGlobalRetentionSettings dataStreamGlobalRetentionSettings = new DataStreamGlobalRetentionSettings();
123114
clusterSettings.initializeAndWatch(DATA_STREAMS_DEFAULT_RETENTION_SETTING, dataStreamGlobalRetentionSettings::setDefaultRetention);
124115
clusterSettings.initializeAndWatch(DATA_STREAMS_MAX_RETENTION_SETTING, dataStreamGlobalRetentionSettings::setMaxRetention);
125116
return dataStreamGlobalRetentionSettings;

server/src/main/java/org/elasticsearch/node/NodeConstruction.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@
4444
import org.elasticsearch.cluster.coordination.MasterHistoryService;
4545
import org.elasticsearch.cluster.coordination.StableMasterHealthIndicatorService;
4646
import org.elasticsearch.cluster.features.NodeFeaturesFixupListener;
47-
import org.elasticsearch.cluster.metadata.DataStreamFactoryRetention;
4847
import org.elasticsearch.cluster.metadata.DataStreamGlobalRetentionSettings;
4948
import org.elasticsearch.cluster.metadata.IndexMetadataVerifier;
5049
import org.elasticsearch.cluster.metadata.IndexNameExpressionResolver;
@@ -621,8 +620,7 @@ private DataStreamGlobalRetentionSettings createDataStreamServicesAndGlobalReten
621620
MetadataCreateIndexService metadataCreateIndexService
622621
) {
623622
DataStreamGlobalRetentionSettings dataStreamGlobalRetentionSettings = DataStreamGlobalRetentionSettings.create(
624-
clusterService.getClusterSettings(),
625-
DataStreamFactoryRetention.load(pluginsService, clusterService.getClusterSettings())
623+
clusterService.getClusterSettings()
626624
);
627625
modules.bindToInstance(DataStreamGlobalRetentionSettings.class, dataStreamGlobalRetentionSettings);
628626
modules.bindToInstance(

server/src/test/java/org/elasticsearch/action/admin/indices/template/reservedstate/ReservedComposableIndexTemplateActionTests.java

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
import org.elasticsearch.cluster.ClusterName;
1919
import org.elasticsearch.cluster.ClusterState;
2020
import org.elasticsearch.cluster.metadata.ComposableIndexTemplate;
21-
import org.elasticsearch.cluster.metadata.DataStreamFactoryRetention;
2221
import org.elasticsearch.cluster.metadata.DataStreamGlobalRetentionSettings;
2322
import org.elasticsearch.cluster.metadata.IndexMetadata;
2423
import org.elasticsearch.cluster.metadata.Metadata;
@@ -94,10 +93,7 @@ public void setup() throws IOException {
9493
doReturn(mapperService).when(indexService).mapperService();
9594
doReturn(indexService).when(indicesService).createIndex(any(), any(), anyBoolean());
9695

97-
globalRetentionSettings = DataStreamGlobalRetentionSettings.create(
98-
ClusterSettings.createBuiltInClusterSettings(),
99-
DataStreamFactoryRetention.emptyFactoryRetention()
100-
);
96+
globalRetentionSettings = DataStreamGlobalRetentionSettings.create(ClusterSettings.createBuiltInClusterSettings());
10197
templateService = new MetadataIndexTemplateService(
10298
clusterService,
10399
mock(MetadataCreateIndexService.class),

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

Lines changed: 4 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -22,46 +22,16 @@ public class DataStreamGlobalRetentionSettingsTests extends ESTestCase {
2222

2323
public void testDefaults() {
2424
DataStreamGlobalRetentionSettings globalRetentionSettings = DataStreamGlobalRetentionSettings.create(
25-
ClusterSettings.createBuiltInClusterSettings(),
26-
DataStreamFactoryRetention.emptyFactoryRetention()
25+
ClusterSettings.createBuiltInClusterSettings()
2726
);
2827

2928
assertThat(globalRetentionSettings.getDefaultRetention(), nullValue());
3029
assertThat(globalRetentionSettings.getMaxRetention(), nullValue());
31-
32-
// Fallback to factory settings
33-
TimeValue maxFactoryValue = randomPositiveTimeValue();
34-
TimeValue defaultFactoryValue = randomPositiveTimeValue();
35-
DataStreamGlobalRetentionSettings withFactorySettings = DataStreamGlobalRetentionSettings.create(
36-
ClusterSettings.createBuiltInClusterSettings(),
37-
new DataStreamFactoryRetention() {
38-
@Override
39-
public TimeValue getMaxRetention() {
40-
return maxFactoryValue;
41-
}
42-
43-
@Override
44-
public TimeValue getDefaultRetention() {
45-
return defaultFactoryValue;
46-
}
47-
48-
@Override
49-
public void init(ClusterSettings clusterSettings) {
50-
51-
}
52-
}
53-
);
54-
55-
assertThat(withFactorySettings.getDefaultRetention(), equalTo(defaultFactoryValue));
56-
assertThat(withFactorySettings.getMaxRetention(), equalTo(maxFactoryValue));
5730
}
5831

5932
public void testMonitorsDefaultRetention() {
6033
ClusterSettings clusterSettings = ClusterSettings.createBuiltInClusterSettings();
61-
DataStreamGlobalRetentionSettings globalRetentionSettings = DataStreamGlobalRetentionSettings.create(
62-
clusterSettings,
63-
DataStreamFactoryRetention.emptyFactoryRetention()
64-
);
34+
DataStreamGlobalRetentionSettings globalRetentionSettings = DataStreamGlobalRetentionSettings.create(clusterSettings);
6535

6636
// Test valid update
6737
TimeValue newDefaultRetention = TimeValue.timeValueDays(randomIntBetween(1, 10));
@@ -91,10 +61,7 @@ public void testMonitorsDefaultRetention() {
9161

9262
public void testMonitorsMaxRetention() {
9363
ClusterSettings clusterSettings = ClusterSettings.createBuiltInClusterSettings();
94-
DataStreamGlobalRetentionSettings globalRetentionSettings = DataStreamGlobalRetentionSettings.create(
95-
clusterSettings,
96-
DataStreamFactoryRetention.emptyFactoryRetention()
97-
);
64+
DataStreamGlobalRetentionSettings globalRetentionSettings = DataStreamGlobalRetentionSettings.create(clusterSettings);
9865

9966
// Test valid update
10067
TimeValue newMaxRetention = TimeValue.timeValueDays(randomIntBetween(10, 30));
@@ -121,7 +88,7 @@ public void testMonitorsMaxRetention() {
12188

12289
public void testCombinationValidation() {
12390
ClusterSettings clusterSettings = ClusterSettings.createBuiltInClusterSettings();
124-
DataStreamGlobalRetentionSettings.create(clusterSettings, DataStreamFactoryRetention.emptyFactoryRetention());
91+
DataStreamGlobalRetentionSettings.create(clusterSettings);
12592

12693
// Test invalid update
12794
Settings newInvalidSettings = Settings.builder()

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

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -141,10 +141,7 @@ public void testUpdatingLifecycleOnADataStream() {
141141
MetadataDataStreamsService metadataDataStreamsService = new MetadataDataStreamsService(
142142
mock(ClusterService.class),
143143
mock(IndicesService.class),
144-
DataStreamGlobalRetentionSettings.create(
145-
ClusterSettings.createBuiltInClusterSettings(settingsWithDefaultRetention),
146-
DataStreamFactoryRetention.emptyFactoryRetention()
147-
)
144+
DataStreamGlobalRetentionSettings.create(ClusterSettings.createBuiltInClusterSettings(settingsWithDefaultRetention))
148145
);
149146

150147
ClusterState after = metadataDataStreamsService.updateDataLifecycle(before, List.of(dataStream), DataStreamLifecycle.DEFAULT);
@@ -281,10 +278,7 @@ public void testValidateLifecycleInComponentTemplate() throws Exception {
281278
xContentRegistry(),
282279
EmptySystemIndices.INSTANCE,
283280
new IndexSettingProviders(Set.of()),
284-
DataStreamGlobalRetentionSettings.create(
285-
ClusterSettings.createBuiltInClusterSettings(settingsWithDefaultRetention),
286-
DataStreamFactoryRetention.emptyFactoryRetention()
287-
)
281+
DataStreamGlobalRetentionSettings.create(ClusterSettings.createBuiltInClusterSettings(settingsWithDefaultRetention))
288282
);
289283

290284
ThreadContext threadContext = new ThreadContext(Settings.EMPTY);

0 commit comments

Comments
 (0)