Browse Source

Minimum node version check before creating data stream (#58281)

Dan Hermann 5 years ago
parent
commit
167783265c

+ 5 - 0
server/src/main/java/org/elasticsearch/cluster/metadata/MetadataCreateDataStreamService.java

@@ -20,6 +20,7 @@ package org.elasticsearch.cluster.metadata;
 
 import org.apache.logging.log4j.LogManager;
 import org.apache.logging.log4j.Logger;
+import org.elasticsearch.Version;
 import org.elasticsearch.action.ActionListener;
 import org.elasticsearch.action.admin.indices.create.CreateIndexClusterStateUpdateRequest;
 import org.elasticsearch.action.support.ActiveShardCount;
@@ -121,6 +122,10 @@ public class MetadataCreateDataStreamService {
     static ClusterState createDataStream(MetadataCreateIndexService metadataCreateIndexService,
                                          ClusterState currentState,
                                          CreateDataStreamClusterStateUpdateRequest request) throws Exception {
+        if (currentState.nodes().getMinNodeVersion().before(Version.V_8_0_0)) {
+            throw new IllegalStateException("data streams require minimum node version of " + Version.V_8_0_0);
+        }
+
         if (currentState.metadata().dataStreams().containsKey(request.name)) {
             throw new IllegalArgumentException("data_stream [" + request.name + "] already exists");
         }