[ https://issues.apache.org/jira/browse/HBASE-14293?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14708520#comment-14708520 ]
Lei Chen commented on HBASE-14293: ---------------------------------- For patch v2: 1. It seems the do-while loop will infinitely try to obtain an available port. If there exists some extreme condition (e.g. network interface problems?) will the loop stuck or JUnit will trigger a timeout? 2. nit, if the for loop is to try different ports, after using the port-finding function, is it still needed? > TestStochasticBalancerJmxMetrics intermittently fails due to port conflict > -------------------------------------------------------------------------- > > Key: HBASE-14293 > URL: https://issues.apache.org/jira/browse/HBASE-14293 > Project: HBase > Issue Type: Test > Reporter: Ted Yu > Assignee: Ted Yu > Priority: Minor > Fix For: 2.0.0 > > Attachments: 14293-v1.txt, 14293-v2.txt > > > From > https://builds.apache.org/job/HBase-TRUNK/6748/testReport/junit/org.apache.hadoop.hbase/TestStochasticBalancerJmxMetrics/testJmxMetrics_EnsembleMode/ > : > {code} > 2015-08-22 20:46:07,939 ERROR [M:0;asf900:59022] > coprocessor.CoprocessorHost(518): The coprocessor > org.apache.hadoop.hbase.JMXListener threw java.rmi.server.ExportException: > Port already in use: 61120; nested exception is: > java.net.BindException: Address already in use > java.rmi.server.ExportException: Port already in use: 61120; nested exception > is: > java.net.BindException: Address already in use > at sun.rmi.transport.tcp.TCPTransport.listen(TCPTransport.java:329) > at > sun.rmi.transport.tcp.TCPTransport.exportObject(TCPTransport.java:237) > at sun.rmi.transport.tcp.TCPEndpoint.exportObject(TCPEndpoint.java:411) > ... > 2015-08-22 20:49:41,755 DEBUG [main] > hbase.TestStochasticBalancerJmxMetrics(93): Encountered exception when > starting cluster. Trying port 61122 > java.lang.IllegalStateException: A mini-cluster is already running > at > org.apache.hadoop.hbase.HBaseTestingUtility.startMiniCluster(HBaseTestingUtility.java:981) > at > org.apache.hadoop.hbase.HBaseTestingUtility.startMiniCluster(HBaseTestingUtility.java:872) > at > org.apache.hadoop.hbase.HBaseTestingUtility.startMiniCluster(HBaseTestingUtility.java:866) > at > org.apache.hadoop.hbase.HBaseTestingUtility.startMiniCluster(HBaseTestingUtility.java:810) > at > org.apache.hadoop.hbase.TestStochasticBalancerJmxMetrics.setupBeforeClass(TestStochasticBalancerJmxMetrics.java:89) > {code} > When port conflict is detected, we try the next port. > However, HTU#miniClusterRunning is true by this moment, leading to the second > exception shown above. -- This message was sent by Atlassian JIRA (v6.3.4#6332)