You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hbase.apache.org by "Lei Chen (JIRA)" <ji...@apache.org> on 2015/08/23 21:45:45 UTC

[jira] [Commented] (HBASE-14293) TestStochasticBalancerJmxMetrics intermittently fails due to port conflict

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