|
@@ -937,60 +937,29 @@ public class CcrRetentionLeaseIT extends CcrIntegTestCase {
|
|
|
pauseFollow(followerIndex);
|
|
|
followerClient().admin().indices().close(new CloseIndexRequest(followerIndex)).actionGet();
|
|
|
|
|
|
- final ClusterStateResponse followerClusterState = followerClient().admin().cluster().prepareState().clear().setNodes(true).get();
|
|
|
- try {
|
|
|
- for (final ObjectCursor<DiscoveryNode> senderNode : followerClusterState.getState().nodes().getNodes().values()) {
|
|
|
- final MockTransportService senderTransportService =
|
|
|
- (MockTransportService) getFollowerCluster().getInstance(TransportService.class, senderNode.value.getName());
|
|
|
- senderTransportService.addSendBehavior(
|
|
|
- (connection, requestId, action, request, options) -> {
|
|
|
- if (RetentionLeaseActions.Remove.ACTION_NAME.equals(action)
|
|
|
- || TransportActionProxy.getProxyAction(RetentionLeaseActions.Remove.ACTION_NAME).equals(action)) {
|
|
|
- final RetentionLeaseActions.RemoveRequest removeRequest = (RetentionLeaseActions.RemoveRequest) request;
|
|
|
- if (randomBoolean()) {
|
|
|
- throw new ConnectTransportException(connection.getNode(), "connection failed");
|
|
|
- } else {
|
|
|
- throw new IndexShardClosedException(removeRequest.getShardId());
|
|
|
- }
|
|
|
- }
|
|
|
- connection.sendRequest(requestId, action, request, options);
|
|
|
- });
|
|
|
- }
|
|
|
-
|
|
|
- expectThrows(
|
|
|
- ElasticsearchException.class,
|
|
|
- () -> followerClient().execute(UnfollowAction.INSTANCE, new UnfollowAction.Request(followerIndex)).actionGet());
|
|
|
-
|
|
|
- final ClusterStateResponse followerIndexClusterState =
|
|
|
- followerClient().admin().cluster().prepareState().clear().setMetaData(true).setIndices(followerIndex).get();
|
|
|
- final String followerUUID = followerIndexClusterState.getState().metaData().index(followerIndex).getIndexUUID();
|
|
|
+ final ClusterStateResponse followerIndexClusterState =
|
|
|
+ followerClient().admin().cluster().prepareState().clear().setMetaData(true).setIndices(followerIndex).get();
|
|
|
+ final String followerUUID = followerIndexClusterState.getState().metaData().index(followerIndex).getIndexUUID();
|
|
|
|
|
|
- final BroadcastResponse forgetFollowerResponse = leaderClient().execute(
|
|
|
- ForgetFollowerAction.INSTANCE,
|
|
|
- new ForgetFollowerAction.Request(
|
|
|
- getFollowerCluster().getClusterName(),
|
|
|
- followerIndex,
|
|
|
- followerUUID,
|
|
|
- "leader_cluster",
|
|
|
- leaderIndex)).actionGet();
|
|
|
+ final BroadcastResponse forgetFollowerResponse = leaderClient().execute(
|
|
|
+ ForgetFollowerAction.INSTANCE,
|
|
|
+ new ForgetFollowerAction.Request(
|
|
|
+ getFollowerCluster().getClusterName(),
|
|
|
+ followerIndex,
|
|
|
+ followerUUID,
|
|
|
+ "leader_cluster",
|
|
|
+ leaderIndex)).actionGet();
|
|
|
|
|
|
- assertThat(forgetFollowerResponse.getTotalShards(), equalTo(numberOfShards));
|
|
|
- assertThat(forgetFollowerResponse.getSuccessfulShards(), equalTo(numberOfShards));
|
|
|
- assertThat(forgetFollowerResponse.getFailedShards(), equalTo(0));
|
|
|
- assertThat(forgetFollowerResponse.getShardFailures(), emptyArray());
|
|
|
+ assertThat(forgetFollowerResponse.getTotalShards(), equalTo(numberOfShards));
|
|
|
+ assertThat(forgetFollowerResponse.getSuccessfulShards(), equalTo(numberOfShards));
|
|
|
+ assertThat(forgetFollowerResponse.getFailedShards(), equalTo(0));
|
|
|
+ assertThat(forgetFollowerResponse.getShardFailures(), emptyArray());
|
|
|
|
|
|
- final IndicesStatsResponse afterForgetFollowerStats =
|
|
|
- leaderClient().admin().indices().stats(new IndicesStatsRequest().clear().indices(leaderIndex)).actionGet();
|
|
|
- final List<ShardStats> afterForgetFollowerShardsStats = getShardsStats(afterForgetFollowerStats);
|
|
|
- for (final ShardStats shardStats : afterForgetFollowerShardsStats) {
|
|
|
- assertThat(shardStats.getRetentionLeaseStats().retentionLeases().leases(), empty());
|
|
|
- }
|
|
|
- } finally {
|
|
|
- for (final ObjectCursor<DiscoveryNode> senderNode : followerClusterState.getState().nodes().getDataNodes().values()) {
|
|
|
- final MockTransportService senderTransportService =
|
|
|
- (MockTransportService) getFollowerCluster().getInstance(TransportService.class, senderNode.value.getName());
|
|
|
- senderTransportService.clearAllRules();
|
|
|
- }
|
|
|
+ final IndicesStatsResponse afterForgetFollowerStats =
|
|
|
+ leaderClient().admin().indices().stats(new IndicesStatsRequest().clear().indices(leaderIndex)).actionGet();
|
|
|
+ final List<ShardStats> afterForgetFollowerShardsStats = getShardsStats(afterForgetFollowerStats);
|
|
|
+ for (final ShardStats shardStats : afterForgetFollowerShardsStats) {
|
|
|
+ assertThat(shardStats.getRetentionLeaseStats().retentionLeases().leases(), empty());
|
|
|
}
|
|
|
}
|
|
|
|