From a97a4255a23fe8a5af06f8622b2a46c8388cc55c Mon Sep 17 00:00:00 2001 From: Suraj Singh <79435743+dreamer-89@users.noreply.github.com> Date: Thu, 20 Jan 2022 18:53:43 -0800 Subject: [PATCH] Timeout fix backport to 1.x (#1953) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * [Bug] Wait for outstanding requests to complete (#1925) Signed-off-by: Suraj Singh * [BUG] Wait for outstanding requests to complete in LastSuccessfulSett… (#1939) * [BUG] Wait for outstanding requests to complete in LastSuccessfulSettingsUpdate test Signed-off-by: Suraj Singh * [BUG] Wait for outstanding requests to complete in LastSuccessfulSettingsUpdate test Signed-off-by: Suraj Singh --- .../index/ShardIndexingPressureSettingsIT.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/server/src/internalClusterTest/java/org/opensearch/index/ShardIndexingPressureSettingsIT.java b/server/src/internalClusterTest/java/org/opensearch/index/ShardIndexingPressureSettingsIT.java index ea8749963aa63..e1316db46fef0 100644 --- a/server/src/internalClusterTest/java/org/opensearch/index/ShardIndexingPressureSettingsIT.java +++ b/server/src/internalClusterTest/java/org/opensearch/index/ShardIndexingPressureSettingsIT.java @@ -403,6 +403,8 @@ public void testShardIndexingPressureEnforcedEnabledDisabledSetting() throws Exc secondSuccessFuture = client(coordinatingOnlyNode).bulk(bulkRequest); Thread.sleep(25); + waitForTwoOutstandingRequests(coordinatingShardTracker); + // This request breaches the threshold and hence will be rejected expectThrows(OpenSearchRejectedExecutionException.class, () -> client(coordinatingOnlyNode).bulk(bulkRequest).actionGet()); @@ -636,6 +638,7 @@ public void testShardIndexingPressureLastSuccessfulSettingsUpdate() throws Excep IndexingPressureService.class, coordinatingOnlyNode ).getShardIndexingPressure().getShardIndexingPressureTracker(shardId); + waitForTwoOutstandingRequests(coordinatingShardTracker); expectThrows(OpenSearchRejectedExecutionException.class, () -> client(coordinatingOnlyNode).bulk(bulkRequest).actionGet()); assertEquals(1, coordinatingShardTracker.getCoordinatingOperationTracker().getRejectionTracker().getTotalRejections()); assertEquals( @@ -648,6 +651,7 @@ public void testShardIndexingPressureLastSuccessfulSettingsUpdate() throws Excep ShardIndexingPressureTracker primaryShardTracker = internalCluster().getInstance(IndexingPressureService.class, primaryName) .getShardIndexingPressure() .getShardIndexingPressureTracker(shardId); + waitForTwoOutstandingRequests(primaryShardTracker); expectThrows(OpenSearchRejectedExecutionException.class, () -> client(primaryName).bulk(bulkRequest).actionGet()); assertEquals(1, primaryShardTracker.getCoordinatingOperationTracker().getRejectionTracker().getTotalRejections()); assertEquals( @@ -920,6 +924,12 @@ private String getCoordinatingOnlyNode() { .getName(); } + private static void waitForTwoOutstandingRequests(ShardIndexingPressureTracker tracker) throws Exception { + assertBusy( + () -> { assertEquals(tracker.getCoordinatingOperationTracker().getPerformanceTracker().getTotalOutstandingRequests(), 2); } + ); + } + private void restartCluster(Settings settings) throws Exception { internalCluster().fullRestart(new InternalTestCluster.RestartCallback() { @Override