[jira] [Commented] (QPID-5847) Closing 0-8..0-9-1 messaging connection from management occasionally ends with 409 conflict

2015-03-12 Thread Keith Wall (JIRA)

[ 
https://issues.apache.org/jira/browse/QPID-5847?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14358918#comment-14358918
 ] 

Keith Wall commented on QPID-5847:
--

Fixed by IO refactoring of QPID-6262

 Closing 0-8..0-9-1 messaging connection from management occasionally ends 
 with 409 conflict
 ---

 Key: QPID-5847
 URL: https://issues.apache.org/jira/browse/QPID-5847
 Project: Qpid
  Issue Type: Bug
  Components: Java Broker
Affects Versions: 0.22, 0.24, 0.26, 0.28, 0.29
Reporter: Keith Wall
 Attachments: 
 0001-NO-JIRA-dont-commit-yet-CRT-that-kills-busy-connecti.patch


 If I close a messaging connection using the REST interface whilst the 
 connection is in use, I occasionally see a 409 rather than a 200 response.
 The exception in the logs is as follows:
 {noformat}
 qtp1163983508-34 2014-06-25 09:56:33,755 WARN 
 [plugin.servlet.rest.RestServlet] Caught exception
 org.apache.qpid.transport.SenderClosedException: sender for socket 
 /127.0.0.1:49509 is closed
 at 
 org.apache.qpid.transport.network.io.IoSender.checkNotAlreadyClosed(IoSender.java:361)
 at 
 org.apache.qpid.transport.network.io.IoSender.send(IoSender.java:111)
 at 
 org.apache.qpid.transport.network.io.IoSender.send(IoSender.java:37)
 at 
 org.apache.qpid.server.protocol.v0_8.AMQProtocolEngine.writeFrame(AMQProtocolEngine.java:682)
 at 
 org.apache.qpid.server.protocol.v0_8.AMQProtocolEngine.closeConnection(AMQProtocolEngine.java:1025)
 at 
 org.apache.qpid.server.protocol.v0_8.AMQProtocolEngine.close(AMQProtocolEngine.java:1412)
 at 
 org.apache.qpid.server.model.adapter.ConnectionAdapter.doDelete(ConnectionAdapter.java:153)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at 
 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
 at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 at java.lang.reflect.Method.invoke(Method.java:606)
 at 
 org.apache.qpid.server.model.AbstractConfiguredObject.attainState(AbstractConfiguredObject.java:643)
 at 
 org.apache.qpid.server.model.AbstractConfiguredObject.attainStateIfResolved(AbstractConfiguredObject.java:623)
 at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
 at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 at java.lang.reflect.Method.invoke(Method.java:606)
 at 
 org.apache.qpid.server.model.AbstractConfiguredObject.automatedSetValue(AbstractConfiguredObject.java:374)
 at 
 org.apache.qpid.server.model.AbstractConfiguredObject.changeAttribute(AbstractConfiguredObject.java:951)
 at 
 org.apache.qpid.server.model.AbstractConfiguredObject.changeAttributes(AbstractConfiguredObject.java:1234)
 at 
 org.apache.qpid.server.model.AbstractConfiguredObject$11.execute(AbstractConfiguredObject.java:1213)
 at 
 org.apache.qpid.server.configuration.updater.TaskExecutorImpl$2.execute(TaskExecutorImpl.java:148)
 at 
 org.apache.qpid.server.configuration.updater.TaskExecutorImpl$2.execute(TaskExecutorImpl.java:144)
 at 
 org.apache.qpid.server.configuration.updater.TaskExecutorImpl.executeTask(TaskExecutorImpl.java:298)
 at 
 org.apache.qpid.server.configuration.updater.TaskExecutorImpl.submit(TaskExecutorImpl.java:130)
 at 
 org.apache.qpid.server.configuration.updater.TaskExecutorImpl.run(TaskExecutorImpl.java:250)
 at 
 org.apache.qpid.server.configuration.updater.TaskExecutorImpl.run(TaskExecutorImpl.java:143)
 at 
 org.apache.qpid.server.model.AbstractConfiguredObject.runTask(AbstractConfiguredObject.java:1190)
 at 
 org.apache.qpid.server.model.AbstractConfiguredObject.setAttributes(AbstractConfiguredObject.java:1207)
 at 
 org.apache.qpid.server.model.AbstractConfiguredObject$7.execute(AbstractConfiguredObject.java:745)
 at 
 org.apache.qpid.server.model.AbstractConfiguredObject$7.execute(AbstractConfiguredObject.java:730)
 at 
 org.apache.qpid.server.configuration.updater.TaskExecutorImpl.executeTask(TaskExecutorImpl.java:298)
 at 
 org.apache.qpid.server.configuration.updater.TaskExecutorImpl.access$400(TaskExecutorImpl.java:43)
 at 
 org.apache.qpid.server.configuration.updater.TaskExecutorImpl$CallableWrapper$1.run(TaskExecutorImpl.java:326)
 at java.security.AccessController.doPrivileged(Native Method)
 at javax.security.auth.Subject.doAs(Subject.java:356)
 at 
 org.apache.qpid.server.configuration.updater.TaskExecutorImpl$CallableWrapper.call(TaskExecutorImpl.java:321)
 at 

[jira] [Commented] (QPID-5847) Closing 0-8..0-9-1 messaging connection from management occasionally ends with 409 conflict

2014-06-27 Thread Keith Wall (JIRA)

[ 
https://issues.apache.org/jira/browse/QPID-5847?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14045950#comment-14045950
 ] 

Keith Wall commented on QPID-5847:
--

Demonstrated that the same issue exists at least as far back as 0.22 when 
connection close is invoked through the JMX interface. From a user perspective, 
the messaging connection is still closed properly, it is just that the JMX 
thread suffers the exception.

 Closing 0-8..0-9-1 messaging connection from management occasionally ends 
 with 409 conflict
 ---

 Key: QPID-5847
 URL: https://issues.apache.org/jira/browse/QPID-5847
 Project: Qpid
  Issue Type: Bug
  Components: Java Broker
Affects Versions: 0.22, 0.24, 0.26, 0.28, 0.29
Reporter: Keith Wall
 Attachments: 
 0001-NO-JIRA-dont-commit-yet-CRT-that-kills-busy-connecti.patch


 If I close a messaging connection using the REST interface whilst the 
 connection is in use, I occasionally see a 409 rather than a 200 response.
 The exception in the logs is as follows:
 {noformat}
 qtp1163983508-34 2014-06-25 09:56:33,755 WARN 
 [plugin.servlet.rest.RestServlet] Caught exception
 org.apache.qpid.transport.SenderClosedException: sender for socket 
 /127.0.0.1:49509 is closed
 at 
 org.apache.qpid.transport.network.io.IoSender.checkNotAlreadyClosed(IoSender.java:361)
 at 
 org.apache.qpid.transport.network.io.IoSender.send(IoSender.java:111)
 at 
 org.apache.qpid.transport.network.io.IoSender.send(IoSender.java:37)
 at 
 org.apache.qpid.server.protocol.v0_8.AMQProtocolEngine.writeFrame(AMQProtocolEngine.java:682)
 at 
 org.apache.qpid.server.protocol.v0_8.AMQProtocolEngine.closeConnection(AMQProtocolEngine.java:1025)
 at 
 org.apache.qpid.server.protocol.v0_8.AMQProtocolEngine.close(AMQProtocolEngine.java:1412)
 at 
 org.apache.qpid.server.model.adapter.ConnectionAdapter.doDelete(ConnectionAdapter.java:153)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at 
 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
 at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 at java.lang.reflect.Method.invoke(Method.java:606)
 at 
 org.apache.qpid.server.model.AbstractConfiguredObject.attainState(AbstractConfiguredObject.java:643)
 at 
 org.apache.qpid.server.model.AbstractConfiguredObject.attainStateIfResolved(AbstractConfiguredObject.java:623)
 at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
 at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 at java.lang.reflect.Method.invoke(Method.java:606)
 at 
 org.apache.qpid.server.model.AbstractConfiguredObject.automatedSetValue(AbstractConfiguredObject.java:374)
 at 
 org.apache.qpid.server.model.AbstractConfiguredObject.changeAttribute(AbstractConfiguredObject.java:951)
 at 
 org.apache.qpid.server.model.AbstractConfiguredObject.changeAttributes(AbstractConfiguredObject.java:1234)
 at 
 org.apache.qpid.server.model.AbstractConfiguredObject$11.execute(AbstractConfiguredObject.java:1213)
 at 
 org.apache.qpid.server.configuration.updater.TaskExecutorImpl$2.execute(TaskExecutorImpl.java:148)
 at 
 org.apache.qpid.server.configuration.updater.TaskExecutorImpl$2.execute(TaskExecutorImpl.java:144)
 at 
 org.apache.qpid.server.configuration.updater.TaskExecutorImpl.executeTask(TaskExecutorImpl.java:298)
 at 
 org.apache.qpid.server.configuration.updater.TaskExecutorImpl.submit(TaskExecutorImpl.java:130)
 at 
 org.apache.qpid.server.configuration.updater.TaskExecutorImpl.run(TaskExecutorImpl.java:250)
 at 
 org.apache.qpid.server.configuration.updater.TaskExecutorImpl.run(TaskExecutorImpl.java:143)
 at 
 org.apache.qpid.server.model.AbstractConfiguredObject.runTask(AbstractConfiguredObject.java:1190)
 at 
 org.apache.qpid.server.model.AbstractConfiguredObject.setAttributes(AbstractConfiguredObject.java:1207)
 at 
 org.apache.qpid.server.model.AbstractConfiguredObject$7.execute(AbstractConfiguredObject.java:745)
 at 
 org.apache.qpid.server.model.AbstractConfiguredObject$7.execute(AbstractConfiguredObject.java:730)
 at 
 org.apache.qpid.server.configuration.updater.TaskExecutorImpl.executeTask(TaskExecutorImpl.java:298)
 at 
 org.apache.qpid.server.configuration.updater.TaskExecutorImpl.access$400(TaskExecutorImpl.java:43)
 at 
 org.apache.qpid.server.configuration.updater.TaskExecutorImpl$CallableWrapper$1.run(TaskExecutorImpl.java:326)
 at java.security.AccessController.doPrivileged(Native Method)
 at 

[jira] [Commented] (QPID-5847) Closing 0-8..0-9-1 messaging connection from management occasionally ends with 409 conflict

2014-06-27 Thread Keith Wall (JIRA)

[ 
https://issues.apache.org/jira/browse/QPID-5847?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=14045955#comment-14045955
 ] 

Keith Wall commented on QPID-5847:
--

Attached patch that can be used to reproduce the issue 

 Closing 0-8..0-9-1 messaging connection from management occasionally ends 
 with 409 conflict
 ---

 Key: QPID-5847
 URL: https://issues.apache.org/jira/browse/QPID-5847
 Project: Qpid
  Issue Type: Bug
  Components: Java Broker
Affects Versions: 0.22, 0.24, 0.26, 0.28, 0.29
Reporter: Keith Wall
 Attachments: 
 0001-NO-JIRA-dont-commit-yet-CRT-that-kills-busy-connecti.patch


 If I close a messaging connection using the REST interface whilst the 
 connection is in use, I occasionally see a 409 rather than a 200 response.
 The exception in the logs is as follows:
 {noformat}
 qtp1163983508-34 2014-06-25 09:56:33,755 WARN 
 [plugin.servlet.rest.RestServlet] Caught exception
 org.apache.qpid.transport.SenderClosedException: sender for socket 
 /127.0.0.1:49509 is closed
 at 
 org.apache.qpid.transport.network.io.IoSender.checkNotAlreadyClosed(IoSender.java:361)
 at 
 org.apache.qpid.transport.network.io.IoSender.send(IoSender.java:111)
 at 
 org.apache.qpid.transport.network.io.IoSender.send(IoSender.java:37)
 at 
 org.apache.qpid.server.protocol.v0_8.AMQProtocolEngine.writeFrame(AMQProtocolEngine.java:682)
 at 
 org.apache.qpid.server.protocol.v0_8.AMQProtocolEngine.closeConnection(AMQProtocolEngine.java:1025)
 at 
 org.apache.qpid.server.protocol.v0_8.AMQProtocolEngine.close(AMQProtocolEngine.java:1412)
 at 
 org.apache.qpid.server.model.adapter.ConnectionAdapter.doDelete(ConnectionAdapter.java:153)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at 
 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
 at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 at java.lang.reflect.Method.invoke(Method.java:606)
 at 
 org.apache.qpid.server.model.AbstractConfiguredObject.attainState(AbstractConfiguredObject.java:643)
 at 
 org.apache.qpid.server.model.AbstractConfiguredObject.attainStateIfResolved(AbstractConfiguredObject.java:623)
 at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
 at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
 at java.lang.reflect.Method.invoke(Method.java:606)
 at 
 org.apache.qpid.server.model.AbstractConfiguredObject.automatedSetValue(AbstractConfiguredObject.java:374)
 at 
 org.apache.qpid.server.model.AbstractConfiguredObject.changeAttribute(AbstractConfiguredObject.java:951)
 at 
 org.apache.qpid.server.model.AbstractConfiguredObject.changeAttributes(AbstractConfiguredObject.java:1234)
 at 
 org.apache.qpid.server.model.AbstractConfiguredObject$11.execute(AbstractConfiguredObject.java:1213)
 at 
 org.apache.qpid.server.configuration.updater.TaskExecutorImpl$2.execute(TaskExecutorImpl.java:148)
 at 
 org.apache.qpid.server.configuration.updater.TaskExecutorImpl$2.execute(TaskExecutorImpl.java:144)
 at 
 org.apache.qpid.server.configuration.updater.TaskExecutorImpl.executeTask(TaskExecutorImpl.java:298)
 at 
 org.apache.qpid.server.configuration.updater.TaskExecutorImpl.submit(TaskExecutorImpl.java:130)
 at 
 org.apache.qpid.server.configuration.updater.TaskExecutorImpl.run(TaskExecutorImpl.java:250)
 at 
 org.apache.qpid.server.configuration.updater.TaskExecutorImpl.run(TaskExecutorImpl.java:143)
 at 
 org.apache.qpid.server.model.AbstractConfiguredObject.runTask(AbstractConfiguredObject.java:1190)
 at 
 org.apache.qpid.server.model.AbstractConfiguredObject.setAttributes(AbstractConfiguredObject.java:1207)
 at 
 org.apache.qpid.server.model.AbstractConfiguredObject$7.execute(AbstractConfiguredObject.java:745)
 at 
 org.apache.qpid.server.model.AbstractConfiguredObject$7.execute(AbstractConfiguredObject.java:730)
 at 
 org.apache.qpid.server.configuration.updater.TaskExecutorImpl.executeTask(TaskExecutorImpl.java:298)
 at 
 org.apache.qpid.server.configuration.updater.TaskExecutorImpl.access$400(TaskExecutorImpl.java:43)
 at 
 org.apache.qpid.server.configuration.updater.TaskExecutorImpl$CallableWrapper$1.run(TaskExecutorImpl.java:326)
 at java.security.AccessController.doPrivileged(Native Method)
 at javax.security.auth.Subject.doAs(Subject.java:356)
 at 
 org.apache.qpid.server.configuration.updater.TaskExecutorImpl$CallableWrapper.call(TaskExecutorImpl.java:321)
 at