Fix the flaky TestThriftHttpServer

This commit is contained in:
huzheng 2018-05-08 20:50:45 +08:00
parent b748ea3b0d
commit 4f7aa3b71d
1 changed files with 9 additions and 18 deletions

View File

@ -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);