From 0dcae90eaab985180ac145fa04077360aa03b8c7 Mon Sep 17 00:00:00 2001 From: huzheng Date: Wed, 9 May 2018 10:50:09 +0800 Subject: [PATCH] HBASE-20543 Fix the flaky TestThriftHttpServer --- .../hbase/thrift/TestThriftHttpServer.java | 27 +++++++------------ 1 file changed, 9 insertions(+), 18 deletions(-) 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 6117953772d..2366ee70b5d 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);