You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Sean Busbey (JIRA)" <ji...@apache.org> on 2016/10/04 15:09:20 UTC

[jira] [Reopened] (HBASE-14734) BindException when setting up MiniKdc

     [ https://issues.apache.org/jira/browse/HBASE-14734?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Sean Busbey reopened HBASE-14734:
---------------------------------

Reopening. git bisect reveals this patch as the source for our nightly failures on branch 1.2+ due to a ClassNotFoundException in the hbase-shell module. Looks like the change introduces a dependency on MiniKDC that hten isn't fulfilled come time for our hbase shell tests.

[~appy] think you can come up with an addendum or follow on ticket today? Otherwise, I'd like to revert so I can get the 1.2.4 RC out.

> BindException when setting up MiniKdc
> -------------------------------------
>
>                 Key: HBASE-14734
>                 URL: https://issues.apache.org/jira/browse/HBASE-14734
>             Project: HBase
>          Issue Type: Sub-task
>          Components: flakey, test
>            Reporter: stack
>            Assignee: Appy
>             Fix For: 1.3.0, 1.4.0, 1.2.4, 2.0..
>
>         Attachments: HBASE-14734.master.001.patch
>
>
> Root cause : Port for kdc service gets selected in the constructor, but we bind to it later in MiniKdc.start()-->MiniKdc.initKDCServer() --> KdcServer.start(). In meantime, some other service can capture the port which results in BindException. The solution here is to catch the exception and retry.
> From https://builds.apache.org/view/H-L/view/HBase/job/HBase-1.2/330/jdk=latest1.7,label=Hadoop/testReport/junit/org.apache.hadoop.hbase.security.token/TestGenerateDelegationToken/org_apache_hadoop_hbase_security_token_TestGenerateDelegationToken/
> Error Message
> Address already in use
> Stacktrace
> java.net.BindException: Address already in use
> 	at sun.nio.ch.Net.bind0(Native Method)
> 	at sun.nio.ch.Net.bind(Net.java:444)
> 	at sun.nio.ch.Net.bind(Net.java:436)
> 	at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:214)
> 	at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
> 	at org.apache.mina.transport.socket.nio.NioSocketAcceptor.open(NioSocketAcceptor.java:198)
> 	at org.apache.mina.transport.socket.nio.NioSocketAcceptor.open(NioSocketAcceptor.java:51)
> 	at org.apache.mina.core.polling.AbstractPollingIoAcceptor.registerHandles(AbstractPollingIoAcceptor.java:547)
> 	at org.apache.mina.core.polling.AbstractPollingIoAcceptor.access$400(AbstractPollingIoAcceptor.java:68)
> 	at org.apache.mina.core.polling.AbstractPollingIoAcceptor$Acceptor.run(AbstractPollingIoAcceptor.java:422)
> 	at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:64)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> 	at java.lang.Thread.run(Thread.java:745)
> Can this utility be made to not fail if address taken? Try another?



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)