Alex Rudyy created QPID-6259:
--------------------------------
Summary: [Java Broker] On DatabaseException in BDB committer
thread, stopping of Coalescing committer in the same committer thread hangs
because it waits for committer thread to finish running
Key: QPID-6259
URL: https://issues.apache.org/jira/browse/QPID-6259
Project: Qpid
Issue Type: Bug
Components: Java Broker
Affects Versions: 0.30
Reporter: Alex Rudyy
When DatabaseException occurs in commit thread, stopping of Coalescing
committer can hang because it is invoked in commit thread and there is a code
there to wait until coalescing committer thread finishes running
{noformat}
"Commit-Thread-default" prio=10 tid=0x00007f1750c28800 nid=0x12fb in
Object.wait() [0x00007f16150dc000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x00000007a59fe090> (a
org.apache.qpid.server.store.berkeleydb.CoalescingCommiter$CommitThread)
at java.lang.Thread.join(Thread.java:1281)
- locked <0x00000007a59fe090> (a
org.apache.qpid.server.store.berkeleydb.CoalescingCommiter$CommitThread)
at java.lang.Thread.join(Thread.java:1355)
at
org.apache.qpid.server.store.berkeleydb.CoalescingCommiter.stop(CoalescingCommiter.java:55)
at
org.apache.qpid.server.store.berkeleydb.StandardEnvironmentFacade.close(StandardEnvironmentFacade.java:152)
at
org.apache.qpid.server.store.berkeleydb.CoalescingCommiter$CommitThread.processJobs(CoalescingCommiter.java:275)
at
org.apache.qpid.server.store.berkeleydb.CoalescingCommiter$CommitThread.run(CoalescingCommiter.java:214)
{noformat}
That might prevent broker from shutdown with kill <pid>:
{noformat}
"QpidBrokerShutdownHook" prio=10 tid=0x00007f1498001000 nid=0x17cd in
Object.wait() [0x00007f14af9f7000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x00000007a59fe090> (a
org.apache.qpid.server.store.berkeleydb.CoalescingCommiter$CommitThread)
at java.lang.Thread.join(Thread.java:1281)
- locked <0x00000007a59fe090> (a
org.apache.qpid.server.store.berkeleydb.CoalescingCommiter$CommitThread)
at java.lang.Thread.join(Thread.java:1355)
at
org.apache.qpid.server.store.berkeleydb.CoalescingCommiter.stop(CoalescingCommiter.java:55)
at
org.apache.qpid.server.store.berkeleydb.StandardEnvironmentFacade.close(StandardEnvironmentFacade.java:152)
at
org.apache.qpid.server.store.berkeleydb.BDBMessageStore.closeMessageStore(BDBMessageStore.java:92)
at
org.apache.qpid.server.virtualhost.AbstractVirtualHost.closeMessageStore(AbstractVirtualHost.java:708)
at
org.apache.qpid.server.virtualhost.AbstractVirtualHost.onClose(AbstractVirtualHost.java:691)
at
org.apache.qpid.server.model.AbstractConfiguredObject.close(AbstractConfiguredObject.java:495)
at
org.apache.qpid.server.model.AbstractConfiguredObject$1.performAction(AbstractConfiguredObject.java:467)
at
org.apache.qpid.server.model.AbstractConfiguredObject$1.performAction(AbstractConfiguredObject.java:463)
at
org.apache.qpid.server.model.AbstractConfiguredObject.applyToChildren(AbstractConfiguredObject.java:748)
at
org.apache.qpid.server.model.AbstractConfiguredObject.closeChildren(AbstractConfiguredObject.java:462)
at
org.apache.qpid.server.model.AbstractConfiguredObject.close(AbstractConfiguredObject.java:494)
at
org.apache.qpid.server.model.AbstractConfiguredObject$1.performAction(AbstractConfiguredObject.java:467)
at
org.apache.qpid.server.model.AbstractConfiguredObject$1.performAction(AbstractConfiguredObject.java:463)
at
org.apache.qpid.server.model.AbstractConfiguredObject.applyToChildren(AbstractConfiguredObject.java:748)
at
org.apache.qpid.server.model.AbstractConfiguredObject.closeChildren(AbstractConfiguredObject.java:462)
at
org.apache.qpid.server.model.AbstractConfiguredObject.close(AbstractConfiguredObject.java:494)
at
org.apache.qpid.server.registry.ApplicationRegistry.close(ApplicationRegistry.java:104)
at org.apache.qpid.server.Broker.shutdown(Broker.java:101)
at org.apache.qpid.server.Broker.shutdown(Broker.java:85)
at org.apache.qpid.server.Broker$ShutdownService$1.run(Broker.java:319)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:356)
at org.apache.qpid.server.Broker$ShutdownService.run(Broker.java:313)
at java.lang.Thread.run(Thread.java:745)
{noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]