浏览代码

Fix failing FullClusterRestartIT.testDataStreams test (#70845)

Dan Hermann 4 年之前
父节点
当前提交
5077017034

+ 18 - 0
test/framework/src/main/java/org/elasticsearch/cluster/DataStreamTestHelper.java

@@ -25,6 +25,7 @@ import java.util.Map;
 import java.util.stream.Collectors;
 import java.util.stream.Collectors;
 
 
 import static org.elasticsearch.cluster.metadata.DataStream.BACKING_INDEX_PREFIX;
 import static org.elasticsearch.cluster.metadata.DataStream.BACKING_INDEX_PREFIX;
+import static org.elasticsearch.cluster.metadata.DataStream.DATE_FORMATTER;
 import static org.elasticsearch.cluster.metadata.DataStream.getDefaultBackingIndexName;
 import static org.elasticsearch.cluster.metadata.DataStream.getDefaultBackingIndexName;
 import static org.elasticsearch.cluster.metadata.IndexMetadata.SETTING_INDEX_UUID;
 import static org.elasticsearch.cluster.metadata.IndexMetadata.SETTING_INDEX_UUID;
 import static org.elasticsearch.test.ESTestCase.randomAlphaOfLength;
 import static org.elasticsearch.test.ESTestCase.randomAlphaOfLength;
@@ -32,10 +33,27 @@ import static org.elasticsearch.test.ESTestCase.randomBoolean;
 
 
 public final class DataStreamTestHelper {
 public final class DataStreamTestHelper {
 
 
+    private static final Version DATE_IN_BACKING_INDEX_VERSION = Version.V_7_11_0;
     private static final Settings.Builder SETTINGS = ESTestCase.settings(Version.CURRENT).put("index.hidden", true);
     private static final Settings.Builder SETTINGS = ESTestCase.settings(Version.CURRENT).put("index.hidden", true);
     private static final int NUMBER_OF_SHARDS = 1;
     private static final int NUMBER_OF_SHARDS = 1;
     private static final int NUMBER_OF_REPLICAS = 1;
     private static final int NUMBER_OF_REPLICAS = 1;
 
 
+    public static String getLegacyDefaultBackingIndexName(
+        String dataStreamName,
+        long generation,
+        long epochMillis,
+        Version minNodeVersion) {
+        if (minNodeVersion.onOrAfter(DATE_IN_BACKING_INDEX_VERSION)) {
+            return String.format(Locale.ROOT,
+                BACKING_INDEX_PREFIX + "%s-%s-%06d",
+                dataStreamName,
+                DATE_FORMATTER.formatMillis(epochMillis),
+                generation);
+        } else {
+            return getLegacyDefaultBackingIndexName(dataStreamName, generation);
+        }
+    }
+
     public static String getLegacyDefaultBackingIndexName(String dataStreamName, long generation) {
     public static String getLegacyDefaultBackingIndexName(String dataStreamName, long generation) {
         return String.format(Locale.ROOT, BACKING_INDEX_PREFIX + "%s-%06d", dataStreamName, generation);
         return String.format(Locale.ROOT, BACKING_INDEX_PREFIX + "%s-%06d", dataStreamName, generation);
     }
     }

+ 6 - 7
x-pack/qa/full-cluster-restart/src/test/java/org/elasticsearch/xpack/restart/FullClusterRestartIT.java

@@ -15,7 +15,7 @@ import org.elasticsearch.client.RequestOptions;
 import org.elasticsearch.client.Response;
 import org.elasticsearch.client.Response;
 import org.elasticsearch.client.ResponseException;
 import org.elasticsearch.client.ResponseException;
 import org.elasticsearch.client.RestClient;
 import org.elasticsearch.client.RestClient;
-import org.elasticsearch.cluster.metadata.DataStream;
+import org.elasticsearch.cluster.DataStreamTestHelper;
 import org.elasticsearch.common.Strings;
 import org.elasticsearch.common.Strings;
 import org.elasticsearch.common.settings.Settings;
 import org.elasticsearch.common.settings.Settings;
 import org.elasticsearch.common.util.concurrent.ThreadContext;
 import org.elasticsearch.common.util.concurrent.ThreadContext;
@@ -695,17 +695,15 @@ public class FullClusterRestartIT extends AbstractFullClusterRestartTestCase {
     }
     }
 
 
     @SuppressWarnings("unchecked")
     @SuppressWarnings("unchecked")
-    @AwaitsFix(bugUrl = "https://github.com/elastic/elasticsearch/issues/70833")
     public void testDataStreams() throws Exception {
     public void testDataStreams() throws Exception {
         assumeTrue("no data streams in versions before " + Version.V_7_9_0, getOldClusterVersion().onOrAfter(Version.V_7_9_0));
         assumeTrue("no data streams in versions before " + Version.V_7_9_0, getOldClusterVersion().onOrAfter(Version.V_7_9_0));
         if (isRunningAgainstOldCluster()) {
         if (isRunningAgainstOldCluster()) {
             createComposableTemplate(client(), "dst", "ds");
             createComposableTemplate(client(), "dst", "ds");
 
 
             Request indexRequest = new Request("POST", "/ds/_doc/1?op_type=create&refresh");
             Request indexRequest = new Request("POST", "/ds/_doc/1?op_type=create&refresh");
-            XContentBuilder builder = JsonXContent.contentBuilder().startObject()
-                .field("f", "v")
-                .field("@timestamp", System.currentTimeMillis())
-                .endObject();
+            XContentBuilder
+                builder =
+                JsonXContent.contentBuilder().startObject().field("f", "v").field("@timestamp", System.currentTimeMillis()).endObject();
             indexRequest.setJsonEntity(Strings.toString(builder));
             indexRequest.setJsonEntity(Strings.toString(builder));
             assertOK(client().performRequest(indexRequest));
             assertOK(client().performRequest(indexRequest));
         }
         }
@@ -732,7 +730,8 @@ public class FullClusterRestartIT extends AbstractFullClusterRestartTestCase {
         List<Map<String, String>> indices = (List<Map<String, String>>) ds.get("indices");
         List<Map<String, String>> indices = (List<Map<String, String>>) ds.get("indices");
         assertEquals("ds", ds.get("name"));
         assertEquals("ds", ds.get("name"));
         assertEquals(1, indices.size());
         assertEquals(1, indices.size());
-        assertEquals(DataStream.getDefaultBackingIndexName("ds", 1, timestamp), indices.get(0).get("index_name"));
+        assertEquals(DataStreamTestHelper.getLegacyDefaultBackingIndexName("ds", 1, timestamp, getOldClusterVersion()),
+            indices.get(0).get("index_name"));
         assertNumHits("ds", 1, 1);
         assertNumHits("ds", 1, 1);
     }
     }