[ 
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)

Reply via email to