You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Keith Wall (JIRA)" <ji...@apache.org> on 2018/01/31 16:59:00 UTC
[jira] [Updated] (QPID-7909) [Java Broker] CancelledKeyException
can be thrown from a selector thread when accepting new connection on
Broker shutdown
[ https://issues.apache.org/jira/browse/QPID-7909?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Keith Wall updated QPID-7909:
-----------------------------
Fix Version/s: (was: Future)
> [Java Broker] CancelledKeyException can be thrown from a selector thread when accepting new connection on Broker shutdown
> -------------------------------------------------------------------------------------------------------------------------
>
> Key: QPID-7909
> URL: https://issues.apache.org/jira/browse/QPID-7909
> Project: Qpid
> Issue Type: Bug
> Components: Broker-J
> Affects Versions: qpid-java-broker-7.0.0
> Reporter: Alex Rudyy
> Priority: Minor
> Attachments: TEST-org.apache.qpid.systest.management.amqp.AmqpManagementTest.testCreateQueueOnBrokerManagement.txt
>
>
> {{CancelledKeyException}} can be reported on broker shutdown when a new incoming connection is about to be accepted. The exception crashes the broker as it is not handled anywhere.
> The following thread stack trace is reported into broker logs
> {noformat}
> 2017-09-10 15:54:48,118 ERROR [Selector-Port-amqp] o.a.q.t.u.InternalBrokerHolder Uncaught exception from thread Selector-Port-amqp
> java.nio.channels.CancelledKeyException: null
> 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:180)
> at org.apache.qpid.server.transport.SelectorThread$SelectionTask.performSelect(SelectorThread.java:319)
> at org.apache.qpid.server.transport.SelectorThread$SelectionTask.run(SelectorThread.java:97)
> at org.apache.qpid.server.transport.SelectorThread.run(SelectorThread.java:521)
> 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}
> The broker log does not contain the logs for selector cancellation in {{SelectorThread#cancelAcceptingSocketAsync}} for amqp port. It does not look like selector was cancelled from Qpid code
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org