Skip to content

Commit 64b257e

Browse files
Fix a test failure caused by random number (#1392)
This PR should fix the test failure in testSuccessInThePresenceOfVariousErrors. It's caused by setting Blob_Not_Found to two original DC hosts. With current change, this would be prevented.
1 parent 2f94c66 commit 64b257e

File tree

1 file changed

+19
-4
lines changed

1 file changed

+19
-4
lines changed

ambry-router/src/test/java/com.github.ambry.router/GetBlobOperationTest.java

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -895,12 +895,27 @@ private void doTestSuccessInThePresenceOfVariousErrors(String dcWherePutHappened
895895
serverErrors.remove(ServerErrorCode.No_Error);
896896
serverErrors.remove(ServerErrorCode.Blob_Authorization_Failure);
897897
boolean goodServerMarked = false;
898+
boolean notFoundSetInOriginalDC = false;
898899
for (MockServer mockServer : mockServers) {
899-
if (!goodServerMarked && mockServer.getDataCenter().equals(dcWherePutHappened)) {
900-
mockServer.setServerErrorForAllRequests(ServerErrorCode.No_Error);
901-
goodServerMarked = true;
900+
ServerErrorCode code = serverErrors.get(random.nextInt(serverErrors.size()));
901+
// make sure in the original dc, we don't set Blob_Not_Found twice.
902+
if (mockServer.getDataCenter().equals(dcWherePutHappened)) {
903+
if (!goodServerMarked) {
904+
mockServer.setServerErrorForAllRequests(ServerErrorCode.No_Error);
905+
goodServerMarked = true;
906+
} else {
907+
if (!notFoundSetInOriginalDC) {
908+
mockServer.setServerErrorForAllRequests(code);
909+
notFoundSetInOriginalDC = code == ServerErrorCode.Blob_Not_Found;
910+
} else {
911+
while (code == ServerErrorCode.Blob_Not_Found) {
912+
code = serverErrors.get(random.nextInt(serverErrors.size()));
913+
}
914+
mockServer.setServerErrorForAllRequests(code);
915+
}
916+
}
902917
} else {
903-
mockServer.setServerErrorForAllRequests(serverErrors.get(random.nextInt(serverErrors.size())));
918+
mockServer.setServerErrorForAllRequests(code);
904919
}
905920
}
906921
getAndAssertSuccess();

0 commit comments

Comments
 (0)