[ https://issues.apache.org/jira/browse/QPID-7368?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15594944#comment-15594944 ]
Lorenz Quack commented on QPID-7368: ------------------------------------ Hi Alex, Two comments: First, it does not seem right to me that {{NetworkConnectionScheduler#cancelAcceptingSocketAsync}} calls {{SelectorThread#cancelAcceptingSocket}} (note the absence of Async). I think {{SelectorThread#cancelAcceptingSocket}} should be renamed to {{SelectorThread#cancelAcceptingSocketAsync}}. Then you can choose to either ** call {{SelectorThread#cancelAcceptingSocketAsync}} from {{NetworkConnectionScheduler#cancelAcceptingSocketAsync}} or ** add a {{SelectorThread#cancelAcceptingSocket}} that does the get on the future and the exception handling and call that from {{NetworkConnectionScheduler#cancelAcceptingSocket}} and get rid of {{NetworkConnectionScheduler#cancelAcceptingSocketAsync}}. I would favour the second option to have the symmetry at the lowest level. I think that is our common pattern. Second, I think we should materialize the timeout instead of getting it from the SystemProperties each time. > CancelledKeyException from accepting socket during Broker shutdown > ------------------------------------------------------------------ > > Key: QPID-7368 > URL: https://issues.apache.org/jira/browse/QPID-7368 > Project: Qpid > Issue Type: Bug > Components: Java Broker > Reporter: Keith Wall > Assignee: Lorenz Quack > Fix For: qpid-java-6.1 > > Attachments: 0001-QPID-7368-Handle-cancelled-selected-key.patch, > 0001-QPID-7368-Wait-for-cancellation-of-accept-selection-.patch, > TEST-org.apache.qpid.transport.ProtocolNegotiationTest.testWrongProtocolHeaderSent_BrokerRespondsWithSupportedProtocol.txt > > > We saw the following test failure on trunk whilst the test was shutting down > a Broker. > https://builds.apache.org/view/M-R/view/Qpid/job/Qpid-Java-Java-Test-JDK1.8/lastCompletedBuild/testReport/org.apache.qpid.transport/ProtocolNegotiationTest/testWrongProtocolHeaderSent_BrokerRespondsWithSupportedProtocol/ > Thread terminated due to uncaught exception > {noformat} > java.nio.channels.CancelledKeyException > at sun.nio.ch.SelectionKeyImpl.ensureValid(SelectionKeyImpl.java:73) > at sun.nio.ch.SelectionKeyImpl.readyOps(SelectionKeyImpl.java:87) > at java.nio.channels.SelectionKey.isAcceptable(SelectionKey.java:360) > at > org.apache.qpid.server.transport.SelectorThread$SelectionTask.processSelectionKeys(SelectorThread.java:167) > at > org.apache.qpid.server.transport.SelectorThread$SelectionTask.performSelect(SelectorThread.java:305) > at > org.apache.qpid.server.transport.SelectorThread$SelectionTask.run(SelectorThread.java:87) > at > org.apache.qpid.server.transport.SelectorThread.run(SelectorThread.java:462) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) > at java.lang.Thread.run(Thread.java:745) > {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org