[ https://issues.apache.org/jira/browse/HADOOP-12090?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14586483#comment-14586483 ]
Sangjin Lee commented on HADOOP-12090: -------------------------------------- Both of these issues need to be fixed by apacheds. This may entail upgrading apacheds from 2.0.0-M15 to a future version (2.0.0-M21). There are some API incompatible changes between those versions, so some work would be required. I propose a workaround on our minikdc code to configure the receive/send buffer size to be larger than the default; e.g. 32 KB or 64 KB. I have confirmed that that patch makes all the failed unit tests succeed again. So until we upgrade apacheds to pick up the fix, it'd be good to have this workaround. I'll come up with a patch that does that soon. > minikdc-related unit tests fail consistently on some platforms > -------------------------------------------------------------- > > Key: HADOOP-12090 > URL: https://issues.apache.org/jira/browse/HADOOP-12090 > Project: Hadoop Common > Issue Type: Bug > Components: kms > Affects Versions: 2.7.0 > Reporter: Sangjin Lee > Assignee: Sangjin Lee > > On some platforms all unit tests that use minikdc fail consistently. Those > tests include TestKMS, TestSaslDataTransfer, > TestTimelineAuthenticationFilter, etc. > Typical failures on the unit tests: > {noformat} > java.lang.AssertionError: > org.apache.hadoop.security.authentication.client.AuthenticationException: > GSSException: No valid credentials provided (Mechanism level: Cannot get a > KDC reply) > at org.junit.Assert.fail(Assert.java:88) > at > org.apache.hadoop.crypto.key.kms.server.TestKMS$8$4.run(TestKMS.java:1154) > at > org.apache.hadoop.crypto.key.kms.server.TestKMS$8$4.run(TestKMS.java:1145) > at java.security.AccessController.doPrivileged(Native Method) > at javax.security.auth.Subject.doAs(Subject.java:415) > at > org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1645) > at > org.apache.hadoop.crypto.key.kms.server.TestKMS.doAs(TestKMS.java:261) > at > org.apache.hadoop.crypto.key.kms.server.TestKMS.access$100(TestKMS.java:76) > {noformat} > The errors that cause this failure on the KDC server on the minikdc are a > NullPointerException: > {noformat} > org.apache.mina.filter.codec.ProtocolDecoderException: > java.lang.NullPointerException: message (Hexdump: ...) > at > org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:234) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.access$1200(DefaultIoFilterChain.java:48) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain$EntryImpl$1.messageReceived(DefaultIoFilterChain.java:802) > at > org.apache.mina.core.filterchain.IoFilterAdapter.messageReceived(IoFilterAdapter.java:120) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.callNextMessageReceived(DefaultIoFilterChain.java:434) > at > org.apache.mina.core.filterchain.DefaultIoFilterChain.fireMessageReceived(DefaultIoFilterChain.java:426) > at > org.apache.mina.core.polling.AbstractPollingIoProcessor.read(AbstractPollingIoProcessor.java:604) > at > org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:564) > at > org.apache.mina.core.polling.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:553) > at > org.apache.mina.core.polling.AbstractPollingIoProcessor.access$400(AbstractPollingIoProcessor.java:57) > at > org.apache.mina.core.polling.AbstractPollingIoProcessor$Processor.run(AbstractPollingIoProcessor.java:892) > at > org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:65) > 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) > Caused by: java.lang.NullPointerException: message > at > org.apache.mina.filter.codec.AbstractProtocolDecoderOutput.write(AbstractProtocolDecoderOutput.java:44) > at > org.apache.directory.server.kerberos.protocol.codec.MinaKerberosDecoder.decode(MinaKerberosDecoder.java:65) > at > org.apache.mina.filter.codec.ProtocolCodecFilter.messageReceived(ProtocolCodecFilter.java:224) > ... 15 more > {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)