HDFS-16336. De-flake TestRollingUpgrade#testRollback (#3686)
Signed-off-by: Akira Ajisaka <aajisaka@apache.org>
This commit is contained in:
parent
ae3ba45db5
commit
e8566b3812
|
@ -22,6 +22,7 @@ import java.io.IOException;
|
||||||
import java.lang.management.ManagementFactory;
|
import java.lang.management.ManagementFactory;
|
||||||
import java.util.concurrent.CountDownLatch;
|
import java.util.concurrent.CountDownLatch;
|
||||||
import java.util.concurrent.ThreadLocalRandom;
|
import java.util.concurrent.ThreadLocalRandom;
|
||||||
|
import java.util.concurrent.TimeoutException;
|
||||||
|
|
||||||
import javax.management.AttributeNotFoundException;
|
import javax.management.AttributeNotFoundException;
|
||||||
import javax.management.InstanceNotFoundException;
|
import javax.management.InstanceNotFoundException;
|
||||||
|
@ -325,7 +326,7 @@ public class TestRollingUpgrade {
|
||||||
out.write(data, 0, data.length);
|
out.write(data, 0, data.length);
|
||||||
out.close();
|
out.close();
|
||||||
|
|
||||||
checkMxBeanIsNull();
|
waitForNullMxBean();
|
||||||
startRollingUpgrade(foo, bar, file, data, cluster);
|
startRollingUpgrade(foo, bar, file, data, cluster);
|
||||||
checkMxBean();
|
checkMxBean();
|
||||||
cluster.getFileSystem().rollEdits();
|
cluster.getFileSystem().rollEdits();
|
||||||
|
@ -356,6 +357,18 @@ public class TestRollingUpgrade {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void waitForNullMxBean() throws TimeoutException, InterruptedException {
|
||||||
|
GenericTestUtils.waitFor(() -> {
|
||||||
|
try {
|
||||||
|
checkMxBeanIsNull();
|
||||||
|
return true;
|
||||||
|
} catch (Throwable t) {
|
||||||
|
LOG.error("Something went wrong.", t);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}, 100, 8000, "RollingUpgradeStatus is already set");
|
||||||
|
}
|
||||||
|
|
||||||
private static void startRollingUpgrade(Path foo, Path bar,
|
private static void startRollingUpgrade(Path foo, Path bar,
|
||||||
Path file, byte[] data,
|
Path file, byte[] data,
|
||||||
MiniDFSCluster cluster) throws IOException {
|
MiniDFSCluster cluster) throws IOException {
|
||||||
|
|
Loading…
Reference in New Issue