diff --git a/x-pack/plugin/ccr/src/test/java/org/elasticsearch/xpack/ccr/CcrRetentionLeaseIT.java b/x-pack/plugin/ccr/src/test/java/org/elasticsearch/xpack/ccr/CcrRetentionLeaseIT.java index 5a93291dacd..0a68c38dc87 100644 --- a/x-pack/plugin/ccr/src/test/java/org/elasticsearch/xpack/ccr/CcrRetentionLeaseIT.java +++ b/x-pack/plugin/ccr/src/test/java/org/elasticsearch/xpack/ccr/CcrRetentionLeaseIT.java @@ -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 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); - }); - } + final ClusterStateResponse followerIndexClusterState = + followerClient().admin().cluster().prepareState().clear().setMetaData(true).setIndices(followerIndex).get(); + final String followerUUID = followerIndexClusterState.getState().metaData().index(followerIndex).getIndexUUID(); - expectThrows( - ElasticsearchException.class, - () -> followerClient().execute(UnfollowAction.INSTANCE, new UnfollowAction.Request(followerIndex)).actionGet()); + final BroadcastResponse forgetFollowerResponse = leaderClient().execute( + ForgetFollowerAction.INSTANCE, + new ForgetFollowerAction.Request( + getFollowerCluster().getClusterName(), + followerIndex, + followerUUID, + "leader_cluster", + leaderIndex)).actionGet(); - final ClusterStateResponse followerIndexClusterState = - followerClient().admin().cluster().prepareState().clear().setMetaData(true).setIndices(followerIndex).get(); - final String followerUUID = followerIndexClusterState.getState().metaData().index(followerIndex).getIndexUUID(); + assertThat(forgetFollowerResponse.getTotalShards(), equalTo(numberOfShards)); + assertThat(forgetFollowerResponse.getSuccessfulShards(), equalTo(numberOfShards)); + assertThat(forgetFollowerResponse.getFailedShards(), equalTo(0)); + assertThat(forgetFollowerResponse.getShardFailures(), emptyArray()); - 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()); - - final IndicesStatsResponse afterForgetFollowerStats = - leaderClient().admin().indices().stats(new IndicesStatsRequest().clear().indices(leaderIndex)).actionGet(); - final List afterForgetFollowerShardsStats = getShardsStats(afterForgetFollowerStats); - for (final ShardStats shardStats : afterForgetFollowerShardsStats) { - assertThat(shardStats.getRetentionLeaseStats().retentionLeases().leases(), empty()); - } - } finally { - for (final ObjectCursor 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 afterForgetFollowerShardsStats = getShardsStats(afterForgetFollowerStats); + for (final ShardStats shardStats : afterForgetFollowerShardsStats) { + assertThat(shardStats.getRetentionLeaseStats().retentionLeases().leases(), empty()); } }