Skip to content

Commit 3843d2a

Browse files
authored
Make CreateDataStreamClusterStateUpdateRequest a record (elastic#113282) (elastic#113291)
No need to extend `ClusterStateUpdateRequest` here.
1 parent fd4da62 commit 3843d2a

File tree

2 files changed

+27
-50
lines changed

2 files changed

+27
-50
lines changed

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

Lines changed: 21 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
import org.elasticsearch.cluster.AckedClusterStateUpdateTask;
2222
import org.elasticsearch.cluster.ClusterState;
2323
import org.elasticsearch.cluster.ClusterStateUpdateTask;
24-
import org.elasticsearch.cluster.ack.ClusterStateUpdateRequest;
2524
import org.elasticsearch.cluster.routing.allocation.allocator.AllocationActionListener;
2625
import org.elasticsearch.cluster.service.ClusterService;
2726
import org.elasticsearch.common.Priority;
@@ -143,13 +142,19 @@ public ClusterState createDataStream(
143142
);
144143
}
145144

146-
public static final class CreateDataStreamClusterStateUpdateRequest extends ClusterStateUpdateRequest<
147-
CreateDataStreamClusterStateUpdateRequest> {
148-
149-
private final boolean performReroute;
150-
private final String name;
151-
private final long startTime;
152-
private final SystemDataStreamDescriptor descriptor;
145+
public record CreateDataStreamClusterStateUpdateRequest(
146+
String name,
147+
long startTime,
148+
@Nullable SystemDataStreamDescriptor systemDataStreamDescriptor,
149+
TimeValue masterNodeTimeout,
150+
TimeValue ackTimeout,
151+
boolean performReroute
152+
) {
153+
public CreateDataStreamClusterStateUpdateRequest {
154+
Objects.requireNonNull(name);
155+
Objects.requireNonNull(masterNodeTimeout);
156+
Objects.requireNonNull(ackTimeout);
157+
}
153158

154159
public CreateDataStreamClusterStateUpdateRequest(String name) {
155160
this(name, System.currentTimeMillis(), null, TimeValue.ZERO, TimeValue.ZERO, true);
@@ -159,42 +164,14 @@ public CreateDataStreamClusterStateUpdateRequest(
159164
String name,
160165
SystemDataStreamDescriptor systemDataStreamDescriptor,
161166
TimeValue masterNodeTimeout,
162-
TimeValue timeout,
167+
TimeValue ackTimeout,
163168
boolean performReroute
164169
) {
165-
this(name, System.currentTimeMillis(), systemDataStreamDescriptor, masterNodeTimeout, timeout, performReroute);
166-
}
167-
168-
public CreateDataStreamClusterStateUpdateRequest(
169-
String name,
170-
long startTime,
171-
SystemDataStreamDescriptor systemDataStreamDescriptor,
172-
TimeValue masterNodeTimeout,
173-
TimeValue timeout,
174-
boolean performReroute
175-
) {
176-
this.name = name;
177-
this.startTime = startTime;
178-
this.descriptor = systemDataStreamDescriptor;
179-
this.performReroute = performReroute;
180-
masterNodeTimeout(masterNodeTimeout);
181-
ackTimeout(timeout);
170+
this(name, System.currentTimeMillis(), systemDataStreamDescriptor, masterNodeTimeout, ackTimeout, performReroute);
182171
}
183172

184173
public boolean isSystem() {
185-
return descriptor != null;
186-
}
187-
188-
public boolean performReroute() {
189-
return performReroute;
190-
}
191-
192-
public SystemDataStreamDescriptor getSystemDataStreamDescriptor() {
193-
return descriptor;
194-
}
195-
196-
long getStartTime() {
197-
return startTime;
174+
return systemDataStreamDescriptor != null;
198175
}
199176
}
200177

@@ -243,7 +220,7 @@ static ClusterState createDataStream(
243220
boolean initializeFailureStore
244221
) throws Exception {
245222
String dataStreamName = request.name;
246-
SystemDataStreamDescriptor systemDataStreamDescriptor = request.getSystemDataStreamDescriptor();
223+
SystemDataStreamDescriptor systemDataStreamDescriptor = request.systemDataStreamDescriptor();
247224
boolean isSystemDataStreamName = metadataCreateIndexService.getSystemIndices().isSystemDataStream(request.name);
248225
assert (isSystemDataStreamName && systemDataStreamDescriptor != null)
249226
|| (isSystemDataStreamName == false && systemDataStreamDescriptor == null)
@@ -292,13 +269,13 @@ static ClusterState createDataStream(
292269
if (isSystem) {
293270
throw new IllegalArgumentException("Failure stores are not supported on system data streams");
294271
}
295-
String failureStoreIndexName = DataStream.getDefaultFailureStoreName(dataStreamName, initialGeneration, request.getStartTime());
272+
String failureStoreIndexName = DataStream.getDefaultFailureStoreName(dataStreamName, initialGeneration, request.startTime());
296273
currentState = createFailureStoreIndex(
297274
metadataCreateIndexService,
298275
"initialize_data_stream",
299276
settings,
300277
currentState,
301-
request.getStartTime(),
278+
request.startTime(),
302279
dataStreamName,
303280
template,
304281
failureStoreIndexName,
@@ -308,7 +285,7 @@ static ClusterState createDataStream(
308285
}
309286

310287
if (writeIndex == null) {
311-
String firstBackingIndexName = DataStream.getDefaultBackingIndexName(dataStreamName, initialGeneration, request.getStartTime());
288+
String firstBackingIndexName = DataStream.getDefaultBackingIndexName(dataStreamName, initialGeneration, request.startTime());
312289
currentState = createBackingIndex(
313290
metadataCreateIndexService,
314291
currentState,
@@ -397,7 +374,7 @@ private static ClusterState createBackingIndex(
397374
firstBackingIndexName
398375
).dataStreamName(dataStreamName)
399376
.systemDataStreamDescriptor(systemDataStreamDescriptor)
400-
.nameResolvedInstant(request.getStartTime())
377+
.nameResolvedInstant(request.startTime())
401378
.performReroute(request.performReroute())
402379
.setMatchingTemplate(template);
403380

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

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -244,8 +244,8 @@ public void testCreateDataStreamWithFailureStoreInitialized() throws Exception {
244244
ActionListener.noop(),
245245
true
246246
);
247-
var backingIndexName = DataStream.getDefaultBackingIndexName(dataStreamName, 1, req.getStartTime());
248-
var failureStoreIndexName = DataStream.getDefaultFailureStoreName(dataStreamName, 1, req.getStartTime());
247+
var backingIndexName = DataStream.getDefaultBackingIndexName(dataStreamName, 1, req.startTime());
248+
var failureStoreIndexName = DataStream.getDefaultFailureStoreName(dataStreamName, 1, req.startTime());
249249
assertThat(newState.metadata().dataStreams().size(), equalTo(1));
250250
assertThat(newState.metadata().dataStreams().get(dataStreamName).getName(), equalTo(dataStreamName));
251251
assertThat(newState.metadata().dataStreams().get(dataStreamName).isSystem(), is(false));
@@ -284,8 +284,8 @@ public void testCreateDataStreamWithFailureStoreUninitialized() throws Exception
284284
ActionListener.noop(),
285285
false
286286
);
287-
var backingIndexName = DataStream.getDefaultBackingIndexName(dataStreamName, 1, req.getStartTime());
288-
var failureStoreIndexName = DataStream.getDefaultFailureStoreName(dataStreamName, 1, req.getStartTime());
287+
var backingIndexName = DataStream.getDefaultBackingIndexName(dataStreamName, 1, req.startTime());
288+
var failureStoreIndexName = DataStream.getDefaultFailureStoreName(dataStreamName, 1, req.startTime());
289289
assertThat(newState.metadata().dataStreams().size(), equalTo(1));
290290
assertThat(newState.metadata().dataStreams().get(dataStreamName).getName(), equalTo(dataStreamName));
291291
assertThat(newState.metadata().dataStreams().get(dataStreamName).isSystem(), is(false));
@@ -321,8 +321,8 @@ public void testCreateDataStreamWithFailureStoreWithRefreshRate() throws Excepti
321321
ActionListener.noop(),
322322
true
323323
);
324-
var backingIndexName = DataStream.getDefaultBackingIndexName(dataStreamName, 1, req.getStartTime());
325-
var failureStoreIndexName = DataStream.getDefaultFailureStoreName(dataStreamName, 1, req.getStartTime());
324+
var backingIndexName = DataStream.getDefaultBackingIndexName(dataStreamName, 1, req.startTime());
325+
var failureStoreIndexName = DataStream.getDefaultFailureStoreName(dataStreamName, 1, req.startTime());
326326
assertThat(newState.metadata().dataStreams().size(), equalTo(1));
327327
assertThat(newState.metadata().dataStreams().get(dataStreamName).getName(), equalTo(dataStreamName));
328328
assertThat(newState.metadata().index(backingIndexName), notNullValue());

0 commit comments

Comments
 (0)