Fix the flaky TestThriftHttpServer
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/4f7aa3b7 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/4f7aa3b7 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/4f7aa3b7 Branch: refs/heads/HBASE-19064 Commit: 4f7aa3b71d2ebfa57f890c5ebaaf166fb7128597 Parents: b748ea3 Author: huzheng <open...@gmail.com> Authored: Tue May 8 20:50:45 2018 +0800 Committer: huzheng <open...@gmail.com> Committed: Wed May 9 09:50:59 2018 +0800 ---------------------------------------------------------------------- .../hbase/thrift/TestThriftHttpServer.java | 27 +++++++------------- 1 file changed, 9 insertions(+), 18 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hbase/blob/4f7aa3b7/hbase-thrift/src/test/java/org/apache/hadoop/hbase/thrift/TestThriftHttpServer.java ---------------------------------------------------------------------- diff --git a/hbase-thrift/src/test/java/org/apache/hadoop/hbase/thrift/TestThriftHttpServer.java b/hbase-thrift/src/test/java/org/apache/hadoop/hbase/thrift/TestThriftHttpServer.java index 6117953..2366ee7 100644 --- a/hbase-thrift/src/test/java/org/apache/hadoop/hbase/thrift/TestThriftHttpServer.java +++ b/hbase-thrift/src/test/java/org/apache/hadoop/hbase/thrift/TestThriftHttpServer.java @@ -57,7 +57,6 @@ import org.apache.hbase.thirdparty.com.google.common.base.Joiner; * interface and talk to it from client side. */ @Category({ClientTests.class, LargeTests.class}) - public class TestThriftHttpServer { @ClassRule @@ -118,18 +117,14 @@ public class TestThriftHttpServer { LOG.info("Starting HBase Thrift server with HTTP server: " + Joiner.on(" ").join(args)); httpServerException = null; - httpServerThread = new Thread(new Runnable() { - @Override - public void run() { - try { - thriftServer.doMain(args); - } catch (Exception e) { - httpServerException = e; - } + httpServerThread = new Thread(() -> { + try { + thriftServer.doMain(args); + } catch (Exception e) { + httpServerException = e; } }); - httpServerThread.setName(ThriftServer.class.getSimpleName() + - "-httpServer"); + httpServerThread.setName(ThriftServer.class.getSimpleName() + "-httpServer"); httpServerThread.start(); } @@ -168,13 +163,9 @@ public class TestThriftHttpServer { startHttpServerThread(args.toArray(new String[args.size()])); // wait up to 10s for the server to start - for (int i = 0; i < 100 - && (thriftServer.serverRunner == null || thriftServer.serverRunner.httpServer == - null); i++) { - Thread.sleep(100); - } + HBaseTestingUtility.waitForHostPort(HConstants.LOCALHOST, port); - String url = "http://"+ HConstants.LOCALHOST + ":" + port; + String url = "http://" + HConstants.LOCALHOST + ":" + port; try { checkHttpMethods(url); talkToThriftServer(url, customHeaderSize); @@ -186,7 +177,7 @@ public class TestThriftHttpServer { if (clientSideException != null) { LOG.error("Thrift client threw an exception " + clientSideException); - if (clientSideException instanceof TTransportException) { + if (clientSideException instanceof TTransportException) { throw clientSideException; } else { throw new Exception(clientSideException);