Switch rolling restart to new style Requests (#32147)

In #29623 we added `Request` object flavored requests to the low level
REST client and in #30315 we deprecated the old `performRequest`s. This
changes all calls in the `qa/rolling-upgrade` project to use the new
versions.
This commit is contained in:
Nik Everett 2018-07-20 12:01:50 -04:00 committed by GitHub
parent 320f1d263f
commit c6c9075ca4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 16 additions and 17 deletions

View File

@ -18,8 +18,6 @@
*/ */
package org.elasticsearch.upgrades; package org.elasticsearch.upgrades;
import org.apache.http.entity.ContentType;
import org.apache.http.entity.StringEntity;
import org.elasticsearch.Version; import org.elasticsearch.Version;
import org.elasticsearch.action.support.PlainActionFuture; import org.elasticsearch.action.support.PlainActionFuture;
import org.elasticsearch.client.Request; import org.elasticsearch.client.Request;
@ -32,14 +30,12 @@ import org.elasticsearch.test.rest.yaml.ObjectPath;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.concurrent.Future; import java.util.concurrent.Future;
import java.util.function.Predicate; import java.util.function.Predicate;
import static com.carrotsearch.randomizedtesting.RandomizedTest.randomAsciiOfLength; import static com.carrotsearch.randomizedtesting.RandomizedTest.randomAsciiOfLength;
import static java.util.Collections.emptyMap;
import static org.elasticsearch.cluster.routing.UnassignedInfo.INDEX_DELAYED_NODE_LEFT_TIMEOUT_SETTING; import static org.elasticsearch.cluster.routing.UnassignedInfo.INDEX_DELAYED_NODE_LEFT_TIMEOUT_SETTING;
import static org.elasticsearch.cluster.routing.allocation.decider.EnableAllocationDecider.INDEX_ROUTING_ALLOCATION_ENABLE_SETTING; import static org.elasticsearch.cluster.routing.allocation.decider.EnableAllocationDecider.INDEX_ROUTING_ALLOCATION_ENABLE_SETTING;
import static org.elasticsearch.cluster.routing.allocation.decider.MaxRetryAllocationDecider.SETTING_ALLOCATION_MAX_RETRY; import static org.elasticsearch.cluster.routing.allocation.decider.MaxRetryAllocationDecider.SETTING_ALLOCATION_MAX_RETRY;
@ -65,8 +61,9 @@ public class RecoveryIT extends AbstractRollingTestCase {
createIndex(index, settings.build()); createIndex(index, settings.build());
} else if (CLUSTER_TYPE == ClusterType.UPGRADED) { } else if (CLUSTER_TYPE == ClusterType.UPGRADED) {
ensureGreen(index); ensureGreen(index);
Response response = client().performRequest("GET", index + "/_stats", Collections.singletonMap("level", "shards")); Request shardStatsRequest = new Request("GET", index + "/_stats");
assertOK(response); shardStatsRequest.addParameter("level", "shards");
Response response = client().performRequest(shardStatsRequest);
ObjectPath objectPath = ObjectPath.createFromResponse(response); ObjectPath objectPath = ObjectPath.createFromResponse(response);
List<Object> shardStats = objectPath.evaluate("indices." + index + ".shards.0"); List<Object> shardStats = objectPath.evaluate("indices." + index + ".shards.0");
assertThat(shardStats, hasSize(2)); assertThat(shardStats, hasSize(2));
@ -87,8 +84,9 @@ public class RecoveryIT extends AbstractRollingTestCase {
private int indexDocs(String index, final int idStart, final int numDocs) throws IOException { private int indexDocs(String index, final int idStart, final int numDocs) throws IOException {
for (int i = 0; i < numDocs; i++) { for (int i = 0; i < numDocs; i++) {
final int id = idStart + i; final int id = idStart + i;
assertOK(client().performRequest("PUT", index + "/test/" + id, emptyMap(), Request indexDoc = new Request("PUT", index + "/test/" + id);
new StringEntity("{\"test\": \"test_" + randomAsciiOfLength(2) + "\"}", ContentType.APPLICATION_JSON))); indexDoc.setJsonEntity("{\"test\": \"test_" + randomAsciiOfLength(2) + "\"}");
client().performRequest(indexDoc);
} }
return numDocs; return numDocs;
} }
@ -113,7 +111,7 @@ public class RecoveryIT extends AbstractRollingTestCase {
public void testRecoveryWithConcurrentIndexing() throws Exception { public void testRecoveryWithConcurrentIndexing() throws Exception {
final String index = "recovery_with_concurrent_indexing"; final String index = "recovery_with_concurrent_indexing";
Response response = client().performRequest("GET", "_nodes"); Response response = client().performRequest(new Request("GET", "_nodes"));
ObjectPath objectPath = ObjectPath.createFromResponse(response); ObjectPath objectPath = ObjectPath.createFromResponse(response);
final Map<String, Object> nodeMap = objectPath.evaluate("nodes"); final Map<String, Object> nodeMap = objectPath.evaluate("nodes");
List<String> nodes = new ArrayList<>(nodeMap.keySet()); List<String> nodes = new ArrayList<>(nodeMap.keySet());
@ -139,7 +137,7 @@ public class RecoveryIT extends AbstractRollingTestCase {
updateIndexSettings(index, Settings.builder().put(INDEX_ROUTING_ALLOCATION_ENABLE_SETTING.getKey(), (String)null)); updateIndexSettings(index, Settings.builder().put(INDEX_ROUTING_ALLOCATION_ENABLE_SETTING.getKey(), (String)null));
asyncIndexDocs(index, 10, 50).get(); asyncIndexDocs(index, 10, 50).get();
ensureGreen(index); ensureGreen(index);
assertOK(client().performRequest("POST", index + "/_refresh")); client().performRequest(new Request("POST", index + "/_refresh"));
assertCount(index, "_only_nodes:" + nodes.get(0), 60); assertCount(index, "_only_nodes:" + nodes.get(0), 60);
assertCount(index, "_only_nodes:" + nodes.get(1), 60); assertCount(index, "_only_nodes:" + nodes.get(1), 60);
assertCount(index, "_only_nodes:" + nodes.get(2), 60); assertCount(index, "_only_nodes:" + nodes.get(2), 60);
@ -150,7 +148,7 @@ public class RecoveryIT extends AbstractRollingTestCase {
updateIndexSettings(index, Settings.builder().put(INDEX_ROUTING_ALLOCATION_ENABLE_SETTING.getKey(), (String)null)); updateIndexSettings(index, Settings.builder().put(INDEX_ROUTING_ALLOCATION_ENABLE_SETTING.getKey(), (String)null));
asyncIndexDocs(index, 60, 50).get(); asyncIndexDocs(index, 60, 50).get();
ensureGreen(index); ensureGreen(index);
assertOK(client().performRequest("POST", index + "/_refresh")); client().performRequest(new Request("POST", index + "/_refresh"));
assertCount(index, "_only_nodes:" + nodes.get(0), 110); assertCount(index, "_only_nodes:" + nodes.get(0), 110);
assertCount(index, "_only_nodes:" + nodes.get(1), 110); assertCount(index, "_only_nodes:" + nodes.get(1), 110);
assertCount(index, "_only_nodes:" + nodes.get(2), 110); assertCount(index, "_only_nodes:" + nodes.get(2), 110);
@ -161,15 +159,16 @@ public class RecoveryIT extends AbstractRollingTestCase {
} }
private void assertCount(final String index, final String preference, final int expectedCount) throws IOException { private void assertCount(final String index, final String preference, final int expectedCount) throws IOException {
final Response response = client().performRequest("GET", index + "/_count", Collections.singletonMap("preference", preference)); final Request request = new Request("GET", index + "/_count");
assertOK(response); request.addParameter("preference", preference);
final Response response = client().performRequest(request);
final int actualCount = Integer.parseInt(ObjectPath.createFromResponse(response).evaluate("count").toString()); final int actualCount = Integer.parseInt(ObjectPath.createFromResponse(response).evaluate("count").toString());
assertThat(actualCount, equalTo(expectedCount)); assertThat(actualCount, equalTo(expectedCount));
} }
private String getNodeId(Predicate<Version> versionPredicate) throws IOException { private String getNodeId(Predicate<Version> versionPredicate) throws IOException {
Response response = client().performRequest("GET", "_nodes"); Response response = client().performRequest(new Request("GET", "_nodes"));
ObjectPath objectPath = ObjectPath.createFromResponse(response); ObjectPath objectPath = ObjectPath.createFromResponse(response);
Map<String, Object> nodesAsMap = objectPath.evaluate("nodes"); Map<String, Object> nodesAsMap = objectPath.evaluate("nodes");
for (String id : nodesAsMap.keySet()) { for (String id : nodesAsMap.keySet()) {
@ -216,7 +215,7 @@ public class RecoveryIT extends AbstractRollingTestCase {
updateIndexSettings(index, Settings.builder().put("index.routing.allocation.include._id", newNode)); updateIndexSettings(index, Settings.builder().put("index.routing.allocation.include._id", newNode));
asyncIndexDocs(index, 10, 50).get(); asyncIndexDocs(index, 10, 50).get();
ensureGreen(index); ensureGreen(index);
assertOK(client().performRequest("POST", index + "/_refresh")); client().performRequest(new Request("POST", index + "/_refresh"));
assertCount(index, "_only_nodes:" + newNode, 60); assertCount(index, "_only_nodes:" + newNode, 60);
break; break;
case UPGRADED: case UPGRADED:
@ -226,8 +225,8 @@ public class RecoveryIT extends AbstractRollingTestCase {
); );
asyncIndexDocs(index, 60, 50).get(); asyncIndexDocs(index, 60, 50).get();
ensureGreen(index); ensureGreen(index);
assertOK(client().performRequest("POST", index + "/_refresh")); client().performRequest(new Request("POST", index + "/_refresh"));
Response response = client().performRequest("GET", "_nodes"); Response response = client().performRequest(new Request("GET", "_nodes"));
ObjectPath objectPath = ObjectPath.createFromResponse(response); ObjectPath objectPath = ObjectPath.createFromResponse(response);
final Map<String, Object> nodeMap = objectPath.evaluate("nodes"); final Map<String, Object> nodeMap = objectPath.evaluate("nodes");
List<String> nodes = new ArrayList<>(nodeMap.keySet()); List<String> nodes = new ArrayList<>(nodeMap.keySet());