[ 
https://issues.apache.org/jira/browse/HBASE-14293?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14708502#comment-14708502
 ] 

Lei Chen commented on HBASE-14293:
----------------------------------

For patch v1, it looks good.
I'm also thinking if shutting down and restart miniCluster is somehow costly, 
it might be better if we can pick an available port before starting the 
miniCluster? Using a function like this
Maybe randomly choose a port, and test it. If it is available, start the 
miniCluster, otherwise try 10 more other random ports.
What do you think?

> 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