Add support for Elasticsearch version 7.3.*

Upgrade elasticsearch-rest-client to 7.3.0.

Add V7_3 to the version manager, and use this in all the V7 tests.

Use the 7.3.0 image from blacktop in the test container.

Bug: Issue 11267
Change-Id: Id65e4d86238101e180dc8adf6b63ad7c53efe190
diff --git a/WORKSPACE b/WORKSPACE
index 5fd84e6..43b0f3a 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -925,8 +925,8 @@
 # and httpasyncclient as necessary.
 maven_jar(
     name = "elasticsearch-rest-client",
-    artifact = "org.elasticsearch.client:elasticsearch-rest-client:7.2.1",
-    sha1 = "5303a802c02e67683ce30b7e9a23d2e9c523782b",
+    artifact = "org.elasticsearch.client:elasticsearch-rest-client:7.3.0",
+    sha1 = "3cdc211c8efb72c202107b40dee356f4f2f0f9bd",
 )
 
 maven_jar(
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/pgm/ElasticReindexIT.java b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/pgm/ElasticReindexIT.java
index 56a0117..0da3198 100644
--- a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/pgm/ElasticReindexIT.java
+++ b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/pgm/ElasticReindexIT.java
@@ -37,7 +37,7 @@
 
   @ConfigSuite.Config
   public static Config elasticsearchV7() {
-    return getConfig(ElasticVersion.V7_2);
+    return getConfig(ElasticVersion.V7_3);
   }
 
   @Override
diff --git a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/ssh/ElasticIndexIT.java b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/ssh/ElasticIndexIT.java
index 84a4ab4..839564f 100644
--- a/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/ssh/ElasticIndexIT.java
+++ b/gerrit-acceptance-tests/src/test/java/com/google/gerrit/acceptance/ssh/ElasticIndexIT.java
@@ -36,7 +36,7 @@
 
   @ConfigSuite.Config
   public static Config elasticsearchV7() {
-    return getConfig(ElasticVersion.V7_2);
+    return getConfig(ElasticVersion.V7_3);
   }
 
   @Override
diff --git a/gerrit-elasticsearch/src/main/java/com/google/gerrit/elasticsearch/ElasticVersion.java b/gerrit-elasticsearch/src/main/java/com/google/gerrit/elasticsearch/ElasticVersion.java
index d9b25a7..baf3e38 100644
--- a/gerrit-elasticsearch/src/main/java/com/google/gerrit/elasticsearch/ElasticVersion.java
+++ b/gerrit-elasticsearch/src/main/java/com/google/gerrit/elasticsearch/ElasticVersion.java
@@ -28,7 +28,8 @@
   V6_8("6.8.*"),
   V7_0("7.0.*"),
   V7_1("7.1.*"),
-  V7_2("7.2.*");
+  V7_2("7.2.*"),
+  V7_3("7.3.*");
 
   private final String version;
   private final Pattern pattern;
diff --git a/gerrit-elasticsearch/src/test/java/com/google/gerrit/elasticsearch/ElasticContainer.java b/gerrit-elasticsearch/src/test/java/com/google/gerrit/elasticsearch/ElasticContainer.java
index 1777b3a..9c00796 100644
--- a/gerrit-elasticsearch/src/test/java/com/google/gerrit/elasticsearch/ElasticContainer.java
+++ b/gerrit-elasticsearch/src/test/java/com/google/gerrit/elasticsearch/ElasticContainer.java
@@ -58,6 +58,8 @@
         return "blacktop/elasticsearch:7.1.1";
       case V7_2:
         return "blacktop/elasticsearch:7.2.1";
+      case V7_3:
+        return "blacktop/elasticsearch:7.3.0";
     }
     throw new IllegalStateException("No tests for version: " + version.name());
   }
diff --git a/gerrit-elasticsearch/src/test/java/com/google/gerrit/elasticsearch/ElasticV7QueryAccountsTest.java b/gerrit-elasticsearch/src/test/java/com/google/gerrit/elasticsearch/ElasticV7QueryAccountsTest.java
index f08b837..4a52107 100644
--- a/gerrit-elasticsearch/src/test/java/com/google/gerrit/elasticsearch/ElasticV7QueryAccountsTest.java
+++ b/gerrit-elasticsearch/src/test/java/com/google/gerrit/elasticsearch/ElasticV7QueryAccountsTest.java
@@ -34,7 +34,7 @@
       return;
     }
 
-    container = ElasticContainer.createAndStart(ElasticVersion.V7_2);
+    container = ElasticContainer.createAndStart(ElasticVersion.V7_3);
     nodeInfo = new ElasticNodeInfo(container.getHttpHost().getPort());
   }
 
diff --git a/gerrit-elasticsearch/src/test/java/com/google/gerrit/elasticsearch/ElasticV7QueryChangesTest.java b/gerrit-elasticsearch/src/test/java/com/google/gerrit/elasticsearch/ElasticV7QueryChangesTest.java
index a29f7ec..2301082 100644
--- a/gerrit-elasticsearch/src/test/java/com/google/gerrit/elasticsearch/ElasticV7QueryChangesTest.java
+++ b/gerrit-elasticsearch/src/test/java/com/google/gerrit/elasticsearch/ElasticV7QueryChangesTest.java
@@ -41,7 +41,7 @@
       return;
     }
 
-    container = ElasticContainer.createAndStart(ElasticVersion.V7_2);
+    container = ElasticContainer.createAndStart(ElasticVersion.V7_3);
     nodeInfo = new ElasticNodeInfo(container.getHttpHost().getPort());
     client = HttpAsyncClients.createDefault();
     client.start();
diff --git a/gerrit-elasticsearch/src/test/java/com/google/gerrit/elasticsearch/ElasticV7QueryGroupsTest.java b/gerrit-elasticsearch/src/test/java/com/google/gerrit/elasticsearch/ElasticV7QueryGroupsTest.java
index 6689a09..82f9abe 100644
--- a/gerrit-elasticsearch/src/test/java/com/google/gerrit/elasticsearch/ElasticV7QueryGroupsTest.java
+++ b/gerrit-elasticsearch/src/test/java/com/google/gerrit/elasticsearch/ElasticV7QueryGroupsTest.java
@@ -34,7 +34,7 @@
       return;
     }
 
-    container = ElasticContainer.createAndStart(ElasticVersion.V7_2);
+    container = ElasticContainer.createAndStart(ElasticVersion.V7_3);
     nodeInfo = new ElasticNodeInfo(container.getHttpHost().getPort());
   }
 
diff --git a/gerrit-elasticsearch/src/test/java/com/google/gerrit/elasticsearch/ElasticVersionTest.java b/gerrit-elasticsearch/src/test/java/com/google/gerrit/elasticsearch/ElasticVersionTest.java
index eda3cb0..707405b 100644
--- a/gerrit-elasticsearch/src/test/java/com/google/gerrit/elasticsearch/ElasticVersionTest.java
+++ b/gerrit-elasticsearch/src/test/java/com/google/gerrit/elasticsearch/ElasticVersionTest.java
@@ -57,6 +57,9 @@
 
     assertThat(ElasticVersion.forVersion("7.2.0")).isEqualTo(ElasticVersion.V7_2);
     assertThat(ElasticVersion.forVersion("7.2.1")).isEqualTo(ElasticVersion.V7_2);
+
+    assertThat(ElasticVersion.forVersion("7.3.0")).isEqualTo(ElasticVersion.V7_3);
+    assertThat(ElasticVersion.forVersion("7.3.1")).isEqualTo(ElasticVersion.V7_3);
   }
 
   @Test
@@ -80,6 +83,7 @@
     assertThat(ElasticVersion.V7_0.isAtLeastMinorVersion(ElasticVersion.V6_7)).isFalse();
     assertThat(ElasticVersion.V7_1.isAtLeastMinorVersion(ElasticVersion.V6_7)).isFalse();
     assertThat(ElasticVersion.V7_2.isAtLeastMinorVersion(ElasticVersion.V6_7)).isFalse();
+    assertThat(ElasticVersion.V7_3.isAtLeastMinorVersion(ElasticVersion.V6_7)).isFalse();
   }
 
   @Test
@@ -95,6 +99,7 @@
     assertThat(ElasticVersion.V7_0.isV6OrLater()).isTrue();
     assertThat(ElasticVersion.V7_1.isV6OrLater()).isTrue();
     assertThat(ElasticVersion.V7_2.isV6OrLater()).isTrue();
+    assertThat(ElasticVersion.V7_3.isV6OrLater()).isTrue();
   }
 
   @Test
@@ -110,5 +115,6 @@
     assertThat(ElasticVersion.V7_0.isV7OrLater()).isTrue();
     assertThat(ElasticVersion.V7_1.isV7OrLater()).isTrue();
     assertThat(ElasticVersion.V7_2.isV7OrLater()).isTrue();
+    assertThat(ElasticVersion.V7_3.isV7OrLater()).isTrue();
   }
 }