Ewen Cheslack-Postava created KAFKA-3453: --------------------------------------------
Summary: Transient test failures due to MiniKDC port allocation strategy Key: KAFKA-3453 URL: https://issues.apache.org/jira/browse/KAFKA-3453 Project: Kafka Issue Type: Bug Affects Versions: 0.9.0.1 Reporter: Ewen Cheslack-Postava A number of tests, especially our consumer tests, fail transiently because MiniKDC allocates ports by creating a socket, getting its port, then closing it. As previously addressed in our own code, this causes problems because that port can be reallocated before the process has a chance to bind a new socket -- whether due to another test running in parallel or another process simply binding the port first. This results in errors like this in the tests: {quote} 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) {quote} This is an ongoing issue that Confluent sees in its Jenkins builds, which is the reason for this ticket. The real issue is actually in MiniKDC (we pass in "0" for the port, but then it uses this other port allocation strategy), but we either need to a) figure out a workaround or b) get a fix in upstream and then update to a newer MiniKDC version. -- This message was sent by Atlassian JIRA (v6.3.4#6332)