You are viewing a plain text version of this content. The canonical link for it is here.
Posted to proton@qpid.apache.org by "Kritikos, Alex" <Al...@softwareag.com> on 2015/07/23 19:00:51 UTC

Problem with Proton-j 0.9.1

Hi all,

We have a broker that uses proton-j 0.9.1 and we execute a test that does a NULL lookup caused by the JMSSession.unsubscribe(name) call. The test passes when using the QPID Proton JMS 0.3.0 but fails when run used the QPID legacy JMS 0.32 with the following error:

javax.jms.JMSException: Timeout waiting for attach
at org.apache.qpid.amqp_1_0.jms.impl.SessionImpl.unsubscribe(SessionImpl.java:663)

The test essentially does the following:

1. Create a durable subscriber
2. Close it (causes detach but no close)
3. Call JMSSession.unsubscribe(name) to delete the durable subscriber state)

What appears to be happening is that when the attach frame of step 3 is sent, we call the link.open() method causing a LINK_LOCAL_OPEN proton event, however proton does not send an attach response. This is only when using the legacy JMS client and it looks like there are some differences in the frame traffic (attached below)

Could this be a Proton bug?

Any help will be greatly appreciated.

Regards,

Alex Kritikos
Software AG

Proton client
——————-

Thu Jul 23 17:49:06 EEST 2015 ReadPool:2 AMQP>Trace:EventImpl{type=CONNECTION_INIT, context=org.apache.qpid.proton.engine.impl.ConnectionImpl@3fa05c3d}
Thu Jul 23 17:49:06 EEST 2015 ReadPool:1 AMQP>RECV: {Open{ containerId='testTopicDeleteDurableSubscriberState', hostname='localhost', maxFrameSize=1048576, channelMax=32767, idleTimeOut=30000, outgoingLocales=null, incomingLocales=null, offeredCapabilities=null, desiredCapabilities=[sole-connection-for-container], properties=null}}
Thu Jul 23 17:49:06 EEST 2015 ReadPool:1 AMQP>Trace:EventImpl{type=CONNECTION_REMOTE_OPEN, context=org.apache.qpid.proton.engine.impl.ConnectionImpl@3fa05c3d}
Thu Jul 23 17:49:06 EEST 2015 ReadPool:1 AMQP>Trace:EventImpl{type=CONNECTION_LOCAL_OPEN, context=org.apache.qpid.proton.engine.impl.ConnectionImpl@3fa05c3d}
Thu Jul 23 17:49:06 EEST 2015 WritePool:4 AMQP>SENT: {Open{ containerId='', hostname='', maxFrameSize=4294967295, channelMax=65535, idleTimeOut=30000, outgoingLocales=null, incomingLocales=null, offeredCapabilities=null, desiredCapabilities=null, properties=null}}
Thu Jul 23 17:49:06 EEST 2015 ReadPool:3 AMQP>RECV: {Begin{remoteChannel=null, nextOutgoingId=1, incomingWindow=0, outgoingWindow=0, handleMax=65535, offeredCapabilities=null, desiredCapabilities=null, properties=null}}
Thu Jul 23 17:49:06 EEST 2015 ReadPool:3 AMQP>RECV: {Flow{nextIncomingId=null, incomingWindow=2047, nextOutgoingId=1, outgoingWindow=0, handle=null, deliveryCount=null, linkCredit=null, available=null, drain=false, echo=false, properties=null}}
Thu Jul 23 17:49:06 EEST 2015 ReadPool:3 AMQP>Trace:EventImpl{type=SESSION_INIT, context=org.apache.qpid.proton.engine.impl.SessionImpl@3e755d27}
Thu Jul 23 17:49:06 EEST 2015 ReadPool:3 AMQP>Trace:EventImpl{type=SESSION_REMOTE_OPEN, context=org.apache.qpid.proton.engine.impl.SessionImpl@3e755d27}
Thu Jul 23 17:49:06 EEST 2015 ReadPool:3 AMQP>Trace:EventImpl{type=SESSION_LOCAL_OPEN, context=org.apache.qpid.proton.engine.impl.SessionImpl@3e755d27}
Thu Jul 23 17:49:06 EEST 2015 WritePool:1 AMQP>SENT: {Begin{remoteChannel=0, nextOutgoingId=1, incomingWindow=0, outgoingWindow=0, handleMax=65535, offeredCapabilities=null, desiredCapabilities=null, properties=null}}
Thu Jul 23 17:49:06 EEST 2015 WritePool:1 AMQP>SENT: {Flow{nextIncomingId=1, incomingWindow=2147483647, nextOutgoingId=1, outgoingWindow=0, handle=null, deliveryCount=null, linkCredit=null, available=null, drain=false, echo=false, properties=null}}
Thu Jul 23 17:49:06 EEST 2015 ReadPool:0 AMQP>RECV: {Begin{remoteChannel=null, nextOutgoingId=1, incomingWindow=0, outgoingWindow=0, handleMax=65535, offeredCapabilities=null, desiredCapabilities=null, properties=null}}
Thu Jul 23 17:49:06 EEST 2015 ReadPool:0 AMQP>RECV: {Flow{nextIncomingId=null, incomingWindow=2047, nextOutgoingId=1, outgoingWindow=0, handle=null, deliveryCount=null, linkCredit=null, available=null, drain=false, echo=false, properties=null}}
Thu Jul 23 17:49:06 EEST 2015 ReadPool:0 AMQP>Trace:EventImpl{type=SESSION_INIT, context=org.apache.qpid.proton.engine.impl.SessionImpl@b36cb7a}
Thu Jul 23 17:49:06 EEST 2015 ReadPool:0 AMQP>Trace:EventImpl{type=SESSION_REMOTE_OPEN, context=org.apache.qpid.proton.engine.impl.SessionImpl@b36cb7a}
Thu Jul 23 17:49:06 EEST 2015 ReadPool:0 AMQP>Trace:EventImpl{type=SESSION_LOCAL_OPEN, context=org.apache.qpid.proton.engine.impl.SessionImpl@b36cb7a}
Thu Jul 23 17:49:06 EEST 2015 WritePool:2 AMQP>SENT: {Begin{remoteChannel=1, nextOutgoingId=1, incomingWindow=0, outgoingWindow=0, handleMax=65535, offeredCapabilities=null, desiredCapabilities=null, properties=null}}
Thu Jul 23 17:49:06 EEST 2015 WritePool:2 AMQP>SENT: {Flow{nextIncomingId=1, incomingWindow=2147483647, nextOutgoingId=1, outgoingWindow=0, handle=null, deliveryCount=null, linkCredit=null, available=null, drain=false, echo=false, properties=null}}
Thu Jul 23 17:49:06 EEST 2015 ReadPool:4 AMQP>RECV: {Attach{name='testTopicDeleteDurableSubscriberState', handle=0, role=RECEIVER, sndSettleMode=UNSETTLED, rcvSettleMode=FIRST, source=Source{address='testTopic', durable=UNSETTLED_STATE, expiryPolicy=NEVER, timeout=0, dynamic=false, dynamicNodeProperties=null, distributionMode=copy, filter=null, defaultOutcome=Modified{deliveryFailed=true, undeliverableHere=false, messageAnnotations=null}, outcomes=[amqp:accepted:list, amqp:rejected:list, amqp:released:list, amqp:modified:list], capabilities=[topic]}, target=Target{address='null', durable=NONE, expiryPolicy=SESSION_END, timeout=0, dynamic=false, dynamicNodeProperties=null, capabilities=null}, unsettled=null, incompleteUnsettled=false, initialDeliveryCount=null, maxMessageSize=null, offeredCapabilities=null, desiredCapabilities=null, properties=null}}
Thu Jul 23 17:49:06 EEST 2015 ReadPool:4 AMQP>Trace:EventImpl{type=LINK_INIT, context=org.apache.qpid.proton.engine.impl.SenderImpl@3a68bc56}
Thu Jul 23 17:49:06 EEST 2015 ReadPool:4 AMQP>Trace:EventImpl{type=LINK_REMOTE_OPEN, context=org.apache.qpid.proton.engine.impl.SenderImpl@3a68bc56}
Thu Jul 23 17:49:06 EEST 2015 ReadPool:4 AMQP>Trace:EventImpl{type=LINK_LOCAL_OPEN, context=org.apache.qpid.proton.engine.impl.SenderImpl@3a68bc56}
Thu Jul 23 17:49:06 EEST 2015 WritePool:6 AMQP>SENT: {Attach{name='testTopicDeleteDurableSubscriberState', handle=0, role=SENDER, sndSettleMode=MIXED, rcvSettleMode=FIRST, source=Source{address='testTopic', durable=UNSETTLED_STATE, expiryPolicy=NEVER, timeout=0, dynamic=false, dynamicNodeProperties=null, distributionMode=copy, filter=null, defaultOutcome=Modified{deliveryFailed=true, undeliverableHere=false, messageAnnotations=null}, outcomes=[amqp:accepted:list, amqp:rejected:list, amqp:released:list, amqp:modified:list], capabilities=[topic]}, target=Target{address='null', durable=NONE, expiryPolicy=SESSION_END, timeout=0, dynamic=false, dynamicNodeProperties=null, capabilities=null}, unsettled=null, incompleteUnsettled=false, initialDeliveryCount=0, maxMessageSize=null, offeredCapabilities=null, desiredCapabilities=null, properties=null}}
Thu Jul 23 17:49:06 EEST 2015 ReadPool:2 AMQP>RECV: {Flow{nextIncomingId=1, incomingWindow=2047, nextOutgoingId=1, outgoingWindow=0, handle=0, deliveryCount=0, linkCredit=1000, available=null, drain=false, echo=false, properties=null}}
Thu Jul 23 17:49:06 EEST 2015 ReadPool:2 AMQP>Trace:EventImpl{type=LINK_FLOW, context=org.apache.qpid.proton.engine.impl.SenderImpl@3a68bc56}
Thu Jul 23 17:49:06 EEST 2015 ReadPool:2 AMQP>RECV: {Detach{handle=0, closed=false, error=null}}
Thu Jul 23 17:49:06 EEST 2015 ReadPool:2 AMQP>Trace:EventImpl{type=LINK_REMOTE_DETACH, context=org.apache.qpid.proton.engine.impl.SenderImpl@3a68bc56}
Thu Jul 23 17:49:06 EEST 2015 ReadPool:2 AMQP>Trace:EventImpl{type=LINK_LOCAL_DETACH, context=org.apache.qpid.proton.engine.impl.SenderImpl@3a68bc56}
Thu Jul 23 17:49:06 EEST 2015 WritePool:1 AMQP>SENT: {Detach{handle=0, closed=false, error=null}}
(this is when the unsubscribe(string) call occurs)
Thu Jul 23 17:49:50 EEST 2015 ReadPool:5 AMQP>RECV: {Attach{name='testTopicDeleteDurableSubscriberState', handle=0, role=RECEIVER, sndSettleMode=UNSETTLED, rcvSettleMode=FIRST, source=null, target=Target{address='null', durable=NONE, expiryPolicy=SESSION_END, timeout=0, dynamic=false, dynamicNodeProperties=null, capabilities=null}, unsettled=null, incompleteUnsettled=false, initialDeliveryCount=null, maxMessageSize=null, offeredCapabilities=null, desiredCapabilities=null, properties=null}}
Thu Jul 23 17:49:50 EEST 2015 ReadPool:5 AMQP>Link init
Thu Jul 23 17:49:50 EEST 2015 ReadPool:5 AMQP>Trace:EventImpl{type=LINK_INIT, context=org.apache.qpid.proton.engine.impl.SenderImpl@8a41535}
Thu Jul 23 17:49:50 EEST 2015 ReadPool:5 AMQP>Trace:EventImpl{type=LINK_REMOTE_OPEN, context=org.apache.qpid.proton.engine.impl.SenderImpl@8a41535}
Thu Jul 23 17:49:50 EEST 2015 ReadPool:5 AMQP>Trace:EventImpl{type=LINK_LOCAL_OPEN, context=org.apache.qpid.proton.engine.impl.SenderImpl@8a41535}
Thu Jul 23 17:49:50 EEST 2015 WritePool:5 AMQP>SENT: {Attach{name='testTopicDeleteDurableSubscriberState', handle=0, role=SENDER, sndSettleMode=MIXED, rcvSettleMode=FIRST, source=Source{address='testTopic', durable=UNSETTLED_STATE, expiryPolicy=SESSION_END, timeout=0, dynamic=false, dynamicNodeProperties=null, distributionMode=null, filter=null, defaultOutcome=null, outcomes=null, capabilities=null}, target=Target{address='null', durable=NONE, expiryPolicy=SESSION_END, timeout=0, dynamic=false, dynamicNodeProperties=null, capabilities=null}, unsettled=null, incompleteUnsettled=false, initialDeliveryCount=0, maxMessageSize=null, offeredCapabilities=null, desiredCapabilities=null, properties=null}}
Thu Jul 23 17:49:50 EEST 2015 ReadPool:1 AMQP>RECV: {Detach{handle=0, closed=true, error=null}}
Thu Jul 23 17:49:50 EEST 2015 WritePool:2 AMQP>SENT: {Detach{handle=0, closed=true, error=null}}
Thu Jul 23 17:49:50 EEST 2015 ReadPool:1 AMQP>Trace:EventImpl{type=LINK_REMOTE_CLOSE, context=org.apache.qpid.proton.engine.impl.SenderImpl@8a41535}
Thu Jul 23 17:49:50 EEST 2015 ReadPool:1 AMQP>Trace:EventImpl{type=LINK_LOCAL_CLOSE, context=org.apache.qpid.proton.engine.impl.SenderImpl@8a41535}
Thu Jul 23 17:49:50 EEST 2015 ReadPool:1 AMQP>Trace:EventImpl{type=LINK_FINAL, context=org.apache.qpid.proton.engine.impl.SenderImpl@8a41535}


Legacy client
——————-

Thu Jul 23 17:36:59 EEST 2015 ReadPool:1 AMQP>Trace:EventImpl{type=CONNECTION_INIT, context=org.apache.qpid.proton.engine.impl.ConnectionImpl@55602519}
Thu Jul 23 17:36:59 EEST 2015 ReadPool:3 AMQP>RECV: {Open{ containerId='testTopicDeleteDurableSubscriberState', hostname='null', maxFrameSize=65536, channelMax=255, idleTimeOut=null, outgoingLocales=null, incomingLocales=null, offeredCapabilities=null, desiredCapabilities=null, properties=null}}
Thu Jul 23 17:36:59 EEST 2015 ReadPool:3 AMQP>Trace:EventImpl{type=CONNECTION_REMOTE_OPEN, context=org.apache.qpid.proton.engine.impl.ConnectionImpl@55602519}
Thu Jul 23 17:36:59 EEST 2015 ReadPool:3 AMQP>Trace:EventImpl{type=CONNECTION_LOCAL_OPEN, context=org.apache.qpid.proton.engine.impl.ConnectionImpl@55602519}
Thu Jul 23 17:36:59 EEST 2015 WritePool:1 AMQP>SENT: {Open{ containerId='', hostname='', maxFrameSize=4294967295, channelMax=65535, idleTimeOut=30000, outgoingLocales=null, incomingLocales=null, offeredCapabilities=null, desiredCapabilities=null, properties=null}}
Thu Jul 23 17:36:59 EEST 2015 ReadPool:5 AMQP>RECV: {Begin{remoteChannel=null, nextOutgoingId=0, incomingWindow=2048, outgoingWindow=2048, handleMax=4294967295, offeredCapabilities=null, desiredCapabilities=null, properties=null}}
Thu Jul 23 17:36:59 EEST 2015 ReadPool:5 AMQP>Trace:EventImpl{type=SESSION_INIT, context=org.apache.qpid.proton.engine.impl.SessionImpl@6100bf59}
Thu Jul 23 17:36:59 EEST 2015 ReadPool:5 AMQP>Trace:EventImpl{type=SESSION_REMOTE_OPEN, context=org.apache.qpid.proton.engine.impl.SessionImpl@6100bf59}
Thu Jul 23 17:36:59 EEST 2015 ReadPool:5 AMQP>Trace:EventImpl{type=SESSION_LOCAL_OPEN, context=org.apache.qpid.proton.engine.impl.SessionImpl@6100bf59}
Thu Jul 23 17:36:59 EEST 2015 WritePool:4 AMQP>SENT: {Begin{remoteChannel=0, nextOutgoingId=1, incomingWindow=0, outgoingWindow=0, handleMax=65535, offeredCapabilities=null, desiredCapabilities=null, properties=null}}
Thu Jul 23 17:36:59 EEST 2015 WritePool:4 AMQP>SENT: {Flow{nextIncomingId=0, incomingWindow=2147483647, nextOutgoingId=1, outgoingWindow=0, handle=null, deliveryCount=null, linkCredit=null, available=null, drain=false, echo=false, properties=null}}
Thu Jul 23 17:36:59 EEST 2015 ReadPool:4 AMQP>RECV: {Attach{name='testTopicDeleteDurableSubscriberState', handle=0, role=RECEIVER, sndSettleMode=UNSETTLED, rcvSettleMode=FIRST, source=Source{address='topic://testTopic', durable=UNSETTLED_STATE, expiryPolicy=NEVER, timeout=0, dynamic=false, dynamicNodeProperties=null, distributionMode=copy, filter=null, defaultOutcome=null, outcomes=null, capabilities=null}, target=Target{address='8e653a67-7b12-4fcc-a7e0-7f836c103928', durable=NONE, expiryPolicy=SESSION_END, timeout=0, dynamic=false, dynamicNodeProperties=null, capabilities=null}, unsettled=null, incompleteUnsettled=false, initialDeliveryCount=null, maxMessageSize=null, offeredCapabilities=null, desiredCapabilities=null, properties=null}}
Thu Jul 23 17:36:59 EEST 2015 ReadPool:4 AMQP>Link init
Thu Jul 23 17:36:59 EEST 2015 ReadPool:4 AMQP>Trace:EventImpl{type=LINK_INIT, context=org.apache.qpid.proton.engine.impl.SenderImpl@78129dcf}
Thu Jul 23 17:36:59 EEST 2015 ReadPool:4 AMQP>Trace:EventImpl{type=LINK_REMOTE_OPEN, context=org.apache.qpid.proton.engine.impl.SenderImpl@78129dcf}
Thu Jul 23 17:36:59 EEST 2015 ReadPool:4 AMQP>Trace:EventImpl{type=LINK_LOCAL_OPEN, context=org.apache.qpid.proton.engine.impl.SenderImpl@78129dcf}
Thu Jul 23 17:36:59 EEST 2015 WritePool:2 AMQP>SENT: {Attach{name='testTopicDeleteDurableSubscriberState', handle=0, role=SENDER, sndSettleMode=MIXED, rcvSettleMode=FIRST, source=Source{address='topic://testTopic', durable=UNSETTLED_STATE, expiryPolicy=NEVER, timeout=0, dynamic=false, dynamicNodeProperties=null, distributionMode=copy, filter=null, defaultOutcome=null, outcomes=null, capabilities=null}, target=Target{address='8e653a67-7b12-4fcc-a7e0-7f836c103928', durable=NONE, expiryPolicy=SESSION_END, timeout=0, dynamic=false, dynamicNodeProperties=null, capabilities=null}, unsettled=null, incompleteUnsettled=false, initialDeliveryCount=0, maxMessageSize=null, offeredCapabilities=null, desiredCapabilities=null, properties=null}}
Thu Jul 23 17:36:59 EEST 2015 ReadPool:4 AMQP>RECV: {Detach{handle=0, closed=false, error=null}}
Thu Jul 23 17:36:59 EEST 2015 ReadPool:4 AMQP>Trace:EventImpl{type=LINK_REMOTE_DETACH, context=org.apache.qpid.proton.engine.impl.SenderImpl@78129dcf}
Thu Jul 23 17:36:59 EEST 2015 ReadPool:4 AMQP>Trace:EventImpl{type=LINK_LOCAL_DETACH, context=org.apache.qpid.proton.engine.impl.SenderImpl@78129dcf}
Thu Jul 23 17:36:59 EEST 2015 WritePool:1 AMQP>SENT: {Detach{handle=0, closed=false, error=null}}
(this is when the unsubscribe(string) call occurs)
Thu Jul 23 17:37:21 EEST 2015 ReadPool:2 AMQP>RECV: {Attach{name='testTopicDeleteDurableSubscriberState', handle=0, role=RECEIVER, sndSettleMode=UNSETTLED, rcvSettleMode=FIRST, source=null, target=Target{address='fe08f28a-f8ad-4031-8e63-a5759176f8da', durable=NONE, expiryPolicy=SESSION_END, timeout=0, dynamic=false, dynamicNodeProperties=null, capabilities=null}, unsettled=null, incompleteUnsettled=false, initialDeliveryCount=null, maxMessageSize=null, offeredCapabilities=null, desiredCapabilities=null, properties=null}}
Thu Jul 23 17:37:21 EEST 2015 ReadPool:2 AMQP>Trace:EventImpl{type=LINK_REMOTE_OPEN, context=org.apache.qpid.proton.engine.impl.SenderImpl@78129dcf}
Thu Jul 23 17:37:21 EEST 2015 ReadPool:2 AMQP>Trace:EventImpl{type=LINK_LOCAL_OPEN, context=org.apache.qpid.proton.engine.impl.SenderImpl@78129dcf}



This communication contains information which is confidential and may also be privileged. It is for the exclusive use of the intended recipient(s). If you are not the intended recipient(s), please note that any distribution, copying, or use of this communication or the information in it, is strictly prohibited. If you have received this communication in error please notify us by e-mail and then delete the e-mail and any copies of it.
Software AG (UK) Limited Registered in England & Wales 1310740 - http://www.softwareag.com/uk


Re: Problem with Proton-j 0.9.1

Posted by Robbie Gemmell <ro...@gmail.com>.
Hi Alex,

As mentioned previously off-list, the detach(closed=false) support in
proton was largely tacked on after the fact so there may still be some
issues there, but the only one I knew of that would play into what you
saw was that not free'ing a link object might lead to the situation.

I took yet another look and didn't spot anything else except
https://issues.apache.org/jira/browse/PROTON-965. I don't think that
would contribute here other than in a unintended helpful fashion, but
given I don't know what the issue you are hitting is it might still be
worth you checking if it makes any difference. I prodded the nightly
snapshot job to build early if you want to give it a shot without
building locally.

Robbie

On 23 July 2015 at 18:00, Kritikos, Alex <Al...@softwareag.com> wrote:
> Hi all,
>
> We have a broker that uses proton-j 0.9.1 and we execute a test that does a NULL lookup caused by the JMSSession.unsubscribe(name) call. The test passes when using the QPID Proton JMS 0.3.0 but fails when run used the QPID legacy JMS 0.32 with the following error:
>
> javax.jms.JMSException: Timeout waiting for attach
> at org.apache.qpid.amqp_1_0.jms.impl.SessionImpl.unsubscribe(SessionImpl.java:663)
>
> The test essentially does the following:
>
> 1. Create a durable subscriber
> 2. Close it (causes detach but no close)
> 3. Call JMSSession.unsubscribe(name) to delete the durable subscriber state)
>
> What appears to be happening is that when the attach frame of step 3 is sent, we call the link.open() method causing a LINK_LOCAL_OPEN proton event, however proton does not send an attach response. This is only when using the legacy JMS client and it looks like there are some differences in the frame traffic (attached below)
>
> Could this be a Proton bug?
>
> Any help will be greatly appreciated.
>
> Regards,
>
> Alex Kritikos
> Software AG
>
> Proton client
> ——————-
>
> Thu Jul 23 17:49:06 EEST 2015 ReadPool:2 AMQP>Trace:EventImpl{type=CONNECTION_INIT, context=org.apache.qpid.proton.engine.impl.ConnectionImpl@3fa05c3d}
> Thu Jul 23 17:49:06 EEST 2015 ReadPool:1 AMQP>RECV: {Open{ containerId='testTopicDeleteDurableSubscriberState', hostname='localhost', maxFrameSize=1048576, channelMax=32767, idleTimeOut=30000, outgoingLocales=null, incomingLocales=null, offeredCapabilities=null, desiredCapabilities=[sole-connection-for-container], properties=null}}
> Thu Jul 23 17:49:06 EEST 2015 ReadPool:1 AMQP>Trace:EventImpl{type=CONNECTION_REMOTE_OPEN, context=org.apache.qpid.proton.engine.impl.ConnectionImpl@3fa05c3d}
> Thu Jul 23 17:49:06 EEST 2015 ReadPool:1 AMQP>Trace:EventImpl{type=CONNECTION_LOCAL_OPEN, context=org.apache.qpid.proton.engine.impl.ConnectionImpl@3fa05c3d}
> Thu Jul 23 17:49:06 EEST 2015 WritePool:4 AMQP>SENT: {Open{ containerId='', hostname='', maxFrameSize=4294967295, channelMax=65535, idleTimeOut=30000, outgoingLocales=null, incomingLocales=null, offeredCapabilities=null, desiredCapabilities=null, properties=null}}
> Thu Jul 23 17:49:06 EEST 2015 ReadPool:3 AMQP>RECV: {Begin{remoteChannel=null, nextOutgoingId=1, incomingWindow=0, outgoingWindow=0, handleMax=65535, offeredCapabilities=null, desiredCapabilities=null, properties=null}}
> Thu Jul 23 17:49:06 EEST 2015 ReadPool:3 AMQP>RECV: {Flow{nextIncomingId=null, incomingWindow=2047, nextOutgoingId=1, outgoingWindow=0, handle=null, deliveryCount=null, linkCredit=null, available=null, drain=false, echo=false, properties=null}}
> Thu Jul 23 17:49:06 EEST 2015 ReadPool:3 AMQP>Trace:EventImpl{type=SESSION_INIT, context=org.apache.qpid.proton.engine.impl.SessionImpl@3e755d27}
> Thu Jul 23 17:49:06 EEST 2015 ReadPool:3 AMQP>Trace:EventImpl{type=SESSION_REMOTE_OPEN, context=org.apache.qpid.proton.engine.impl.SessionImpl@3e755d27}
> Thu Jul 23 17:49:06 EEST 2015 ReadPool:3 AMQP>Trace:EventImpl{type=SESSION_LOCAL_OPEN, context=org.apache.qpid.proton.engine.impl.SessionImpl@3e755d27}
> Thu Jul 23 17:49:06 EEST 2015 WritePool:1 AMQP>SENT: {Begin{remoteChannel=0, nextOutgoingId=1, incomingWindow=0, outgoingWindow=0, handleMax=65535, offeredCapabilities=null, desiredCapabilities=null, properties=null}}
> Thu Jul 23 17:49:06 EEST 2015 WritePool:1 AMQP>SENT: {Flow{nextIncomingId=1, incomingWindow=2147483647, nextOutgoingId=1, outgoingWindow=0, handle=null, deliveryCount=null, linkCredit=null, available=null, drain=false, echo=false, properties=null}}
> Thu Jul 23 17:49:06 EEST 2015 ReadPool:0 AMQP>RECV: {Begin{remoteChannel=null, nextOutgoingId=1, incomingWindow=0, outgoingWindow=0, handleMax=65535, offeredCapabilities=null, desiredCapabilities=null, properties=null}}
> Thu Jul 23 17:49:06 EEST 2015 ReadPool:0 AMQP>RECV: {Flow{nextIncomingId=null, incomingWindow=2047, nextOutgoingId=1, outgoingWindow=0, handle=null, deliveryCount=null, linkCredit=null, available=null, drain=false, echo=false, properties=null}}
> Thu Jul 23 17:49:06 EEST 2015 ReadPool:0 AMQP>Trace:EventImpl{type=SESSION_INIT, context=org.apache.qpid.proton.engine.impl.SessionImpl@b36cb7a}
> Thu Jul 23 17:49:06 EEST 2015 ReadPool:0 AMQP>Trace:EventImpl{type=SESSION_REMOTE_OPEN, context=org.apache.qpid.proton.engine.impl.SessionImpl@b36cb7a}
> Thu Jul 23 17:49:06 EEST 2015 ReadPool:0 AMQP>Trace:EventImpl{type=SESSION_LOCAL_OPEN, context=org.apache.qpid.proton.engine.impl.SessionImpl@b36cb7a}
> Thu Jul 23 17:49:06 EEST 2015 WritePool:2 AMQP>SENT: {Begin{remoteChannel=1, nextOutgoingId=1, incomingWindow=0, outgoingWindow=0, handleMax=65535, offeredCapabilities=null, desiredCapabilities=null, properties=null}}
> Thu Jul 23 17:49:06 EEST 2015 WritePool:2 AMQP>SENT: {Flow{nextIncomingId=1, incomingWindow=2147483647, nextOutgoingId=1, outgoingWindow=0, handle=null, deliveryCount=null, linkCredit=null, available=null, drain=false, echo=false, properties=null}}
> Thu Jul 23 17:49:06 EEST 2015 ReadPool:4 AMQP>RECV: {Attach{name='testTopicDeleteDurableSubscriberState', handle=0, role=RECEIVER, sndSettleMode=UNSETTLED, rcvSettleMode=FIRST, source=Source{address='testTopic', durable=UNSETTLED_STATE, expiryPolicy=NEVER, timeout=0, dynamic=false, dynamicNodeProperties=null, distributionMode=copy, filter=null, defaultOutcome=Modified{deliveryFailed=true, undeliverableHere=false, messageAnnotations=null}, outcomes=[amqp:accepted:list, amqp:rejected:list, amqp:released:list, amqp:modified:list], capabilities=[topic]}, target=Target{address='null', durable=NONE, expiryPolicy=SESSION_END, timeout=0, dynamic=false, dynamicNodeProperties=null, capabilities=null}, unsettled=null, incompleteUnsettled=false, initialDeliveryCount=null, maxMessageSize=null, offeredCapabilities=null, desiredCapabilities=null, properties=null}}
> Thu Jul 23 17:49:06 EEST 2015 ReadPool:4 AMQP>Trace:EventImpl{type=LINK_INIT, context=org.apache.qpid.proton.engine.impl.SenderImpl@3a68bc56}
> Thu Jul 23 17:49:06 EEST 2015 ReadPool:4 AMQP>Trace:EventImpl{type=LINK_REMOTE_OPEN, context=org.apache.qpid.proton.engine.impl.SenderImpl@3a68bc56}
> Thu Jul 23 17:49:06 EEST 2015 ReadPool:4 AMQP>Trace:EventImpl{type=LINK_LOCAL_OPEN, context=org.apache.qpid.proton.engine.impl.SenderImpl@3a68bc56}
> Thu Jul 23 17:49:06 EEST 2015 WritePool:6 AMQP>SENT: {Attach{name='testTopicDeleteDurableSubscriberState', handle=0, role=SENDER, sndSettleMode=MIXED, rcvSettleMode=FIRST, source=Source{address='testTopic', durable=UNSETTLED_STATE, expiryPolicy=NEVER, timeout=0, dynamic=false, dynamicNodeProperties=null, distributionMode=copy, filter=null, defaultOutcome=Modified{deliveryFailed=true, undeliverableHere=false, messageAnnotations=null}, outcomes=[amqp:accepted:list, amqp:rejected:list, amqp:released:list, amqp:modified:list], capabilities=[topic]}, target=Target{address='null', durable=NONE, expiryPolicy=SESSION_END, timeout=0, dynamic=false, dynamicNodeProperties=null, capabilities=null}, unsettled=null, incompleteUnsettled=false, initialDeliveryCount=0, maxMessageSize=null, offeredCapabilities=null, desiredCapabilities=null, properties=null}}
> Thu Jul 23 17:49:06 EEST 2015 ReadPool:2 AMQP>RECV: {Flow{nextIncomingId=1, incomingWindow=2047, nextOutgoingId=1, outgoingWindow=0, handle=0, deliveryCount=0, linkCredit=1000, available=null, drain=false, echo=false, properties=null}}
> Thu Jul 23 17:49:06 EEST 2015 ReadPool:2 AMQP>Trace:EventImpl{type=LINK_FLOW, context=org.apache.qpid.proton.engine.impl.SenderImpl@3a68bc56}
> Thu Jul 23 17:49:06 EEST 2015 ReadPool:2 AMQP>RECV: {Detach{handle=0, closed=false, error=null}}
> Thu Jul 23 17:49:06 EEST 2015 ReadPool:2 AMQP>Trace:EventImpl{type=LINK_REMOTE_DETACH, context=org.apache.qpid.proton.engine.impl.SenderImpl@3a68bc56}
> Thu Jul 23 17:49:06 EEST 2015 ReadPool:2 AMQP>Trace:EventImpl{type=LINK_LOCAL_DETACH, context=org.apache.qpid.proton.engine.impl.SenderImpl@3a68bc56}
> Thu Jul 23 17:49:06 EEST 2015 WritePool:1 AMQP>SENT: {Detach{handle=0, closed=false, error=null}}
> (this is when the unsubscribe(string) call occurs)
> Thu Jul 23 17:49:50 EEST 2015 ReadPool:5 AMQP>RECV: {Attach{name='testTopicDeleteDurableSubscriberState', handle=0, role=RECEIVER, sndSettleMode=UNSETTLED, rcvSettleMode=FIRST, source=null, target=Target{address='null', durable=NONE, expiryPolicy=SESSION_END, timeout=0, dynamic=false, dynamicNodeProperties=null, capabilities=null}, unsettled=null, incompleteUnsettled=false, initialDeliveryCount=null, maxMessageSize=null, offeredCapabilities=null, desiredCapabilities=null, properties=null}}
> Thu Jul 23 17:49:50 EEST 2015 ReadPool:5 AMQP>Link init
> Thu Jul 23 17:49:50 EEST 2015 ReadPool:5 AMQP>Trace:EventImpl{type=LINK_INIT, context=org.apache.qpid.proton.engine.impl.SenderImpl@8a41535}
> Thu Jul 23 17:49:50 EEST 2015 ReadPool:5 AMQP>Trace:EventImpl{type=LINK_REMOTE_OPEN, context=org.apache.qpid.proton.engine.impl.SenderImpl@8a41535}
> Thu Jul 23 17:49:50 EEST 2015 ReadPool:5 AMQP>Trace:EventImpl{type=LINK_LOCAL_OPEN, context=org.apache.qpid.proton.engine.impl.SenderImpl@8a41535}
> Thu Jul 23 17:49:50 EEST 2015 WritePool:5 AMQP>SENT: {Attach{name='testTopicDeleteDurableSubscriberState', handle=0, role=SENDER, sndSettleMode=MIXED, rcvSettleMode=FIRST, source=Source{address='testTopic', durable=UNSETTLED_STATE, expiryPolicy=SESSION_END, timeout=0, dynamic=false, dynamicNodeProperties=null, distributionMode=null, filter=null, defaultOutcome=null, outcomes=null, capabilities=null}, target=Target{address='null', durable=NONE, expiryPolicy=SESSION_END, timeout=0, dynamic=false, dynamicNodeProperties=null, capabilities=null}, unsettled=null, incompleteUnsettled=false, initialDeliveryCount=0, maxMessageSize=null, offeredCapabilities=null, desiredCapabilities=null, properties=null}}
> Thu Jul 23 17:49:50 EEST 2015 ReadPool:1 AMQP>RECV: {Detach{handle=0, closed=true, error=null}}
> Thu Jul 23 17:49:50 EEST 2015 WritePool:2 AMQP>SENT: {Detach{handle=0, closed=true, error=null}}
> Thu Jul 23 17:49:50 EEST 2015 ReadPool:1 AMQP>Trace:EventImpl{type=LINK_REMOTE_CLOSE, context=org.apache.qpid.proton.engine.impl.SenderImpl@8a41535}
> Thu Jul 23 17:49:50 EEST 2015 ReadPool:1 AMQP>Trace:EventImpl{type=LINK_LOCAL_CLOSE, context=org.apache.qpid.proton.engine.impl.SenderImpl@8a41535}
> Thu Jul 23 17:49:50 EEST 2015 ReadPool:1 AMQP>Trace:EventImpl{type=LINK_FINAL, context=org.apache.qpid.proton.engine.impl.SenderImpl@8a41535}
>
>
> Legacy client
> ——————-
>
> Thu Jul 23 17:36:59 EEST 2015 ReadPool:1 AMQP>Trace:EventImpl{type=CONNECTION_INIT, context=org.apache.qpid.proton.engine.impl.ConnectionImpl@55602519}
> Thu Jul 23 17:36:59 EEST 2015 ReadPool:3 AMQP>RECV: {Open{ containerId='testTopicDeleteDurableSubscriberState', hostname='null', maxFrameSize=65536, channelMax=255, idleTimeOut=null, outgoingLocales=null, incomingLocales=null, offeredCapabilities=null, desiredCapabilities=null, properties=null}}
> Thu Jul 23 17:36:59 EEST 2015 ReadPool:3 AMQP>Trace:EventImpl{type=CONNECTION_REMOTE_OPEN, context=org.apache.qpid.proton.engine.impl.ConnectionImpl@55602519}
> Thu Jul 23 17:36:59 EEST 2015 ReadPool:3 AMQP>Trace:EventImpl{type=CONNECTION_LOCAL_OPEN, context=org.apache.qpid.proton.engine.impl.ConnectionImpl@55602519}
> Thu Jul 23 17:36:59 EEST 2015 WritePool:1 AMQP>SENT: {Open{ containerId='', hostname='', maxFrameSize=4294967295, channelMax=65535, idleTimeOut=30000, outgoingLocales=null, incomingLocales=null, offeredCapabilities=null, desiredCapabilities=null, properties=null}}
> Thu Jul 23 17:36:59 EEST 2015 ReadPool:5 AMQP>RECV: {Begin{remoteChannel=null, nextOutgoingId=0, incomingWindow=2048, outgoingWindow=2048, handleMax=4294967295, offeredCapabilities=null, desiredCapabilities=null, properties=null}}
> Thu Jul 23 17:36:59 EEST 2015 ReadPool:5 AMQP>Trace:EventImpl{type=SESSION_INIT, context=org.apache.qpid.proton.engine.impl.SessionImpl@6100bf59}
> Thu Jul 23 17:36:59 EEST 2015 ReadPool:5 AMQP>Trace:EventImpl{type=SESSION_REMOTE_OPEN, context=org.apache.qpid.proton.engine.impl.SessionImpl@6100bf59}
> Thu Jul 23 17:36:59 EEST 2015 ReadPool:5 AMQP>Trace:EventImpl{type=SESSION_LOCAL_OPEN, context=org.apache.qpid.proton.engine.impl.SessionImpl@6100bf59}
> Thu Jul 23 17:36:59 EEST 2015 WritePool:4 AMQP>SENT: {Begin{remoteChannel=0, nextOutgoingId=1, incomingWindow=0, outgoingWindow=0, handleMax=65535, offeredCapabilities=null, desiredCapabilities=null, properties=null}}
> Thu Jul 23 17:36:59 EEST 2015 WritePool:4 AMQP>SENT: {Flow{nextIncomingId=0, incomingWindow=2147483647, nextOutgoingId=1, outgoingWindow=0, handle=null, deliveryCount=null, linkCredit=null, available=null, drain=false, echo=false, properties=null}}
> Thu Jul 23 17:36:59 EEST 2015 ReadPool:4 AMQP>RECV: {Attach{name='testTopicDeleteDurableSubscriberState', handle=0, role=RECEIVER, sndSettleMode=UNSETTLED, rcvSettleMode=FIRST, source=Source{address='topic://testTopic', durable=UNSETTLED_STATE, expiryPolicy=NEVER, timeout=0, dynamic=false, dynamicNodeProperties=null, distributionMode=copy, filter=null, defaultOutcome=null, outcomes=null, capabilities=null}, target=Target{address='8e653a67-7b12-4fcc-a7e0-7f836c103928', durable=NONE, expiryPolicy=SESSION_END, timeout=0, dynamic=false, dynamicNodeProperties=null, capabilities=null}, unsettled=null, incompleteUnsettled=false, initialDeliveryCount=null, maxMessageSize=null, offeredCapabilities=null, desiredCapabilities=null, properties=null}}
> Thu Jul 23 17:36:59 EEST 2015 ReadPool:4 AMQP>Link init
> Thu Jul 23 17:36:59 EEST 2015 ReadPool:4 AMQP>Trace:EventImpl{type=LINK_INIT, context=org.apache.qpid.proton.engine.impl.SenderImpl@78129dcf}
> Thu Jul 23 17:36:59 EEST 2015 ReadPool:4 AMQP>Trace:EventImpl{type=LINK_REMOTE_OPEN, context=org.apache.qpid.proton.engine.impl.SenderImpl@78129dcf}
> Thu Jul 23 17:36:59 EEST 2015 ReadPool:4 AMQP>Trace:EventImpl{type=LINK_LOCAL_OPEN, context=org.apache.qpid.proton.engine.impl.SenderImpl@78129dcf}
> Thu Jul 23 17:36:59 EEST 2015 WritePool:2 AMQP>SENT: {Attach{name='testTopicDeleteDurableSubscriberState', handle=0, role=SENDER, sndSettleMode=MIXED, rcvSettleMode=FIRST, source=Source{address='topic://testTopic', durable=UNSETTLED_STATE, expiryPolicy=NEVER, timeout=0, dynamic=false, dynamicNodeProperties=null, distributionMode=copy, filter=null, defaultOutcome=null, outcomes=null, capabilities=null}, target=Target{address='8e653a67-7b12-4fcc-a7e0-7f836c103928', durable=NONE, expiryPolicy=SESSION_END, timeout=0, dynamic=false, dynamicNodeProperties=null, capabilities=null}, unsettled=null, incompleteUnsettled=false, initialDeliveryCount=0, maxMessageSize=null, offeredCapabilities=null, desiredCapabilities=null, properties=null}}
> Thu Jul 23 17:36:59 EEST 2015 ReadPool:4 AMQP>RECV: {Detach{handle=0, closed=false, error=null}}
> Thu Jul 23 17:36:59 EEST 2015 ReadPool:4 AMQP>Trace:EventImpl{type=LINK_REMOTE_DETACH, context=org.apache.qpid.proton.engine.impl.SenderImpl@78129dcf}
> Thu Jul 23 17:36:59 EEST 2015 ReadPool:4 AMQP>Trace:EventImpl{type=LINK_LOCAL_DETACH, context=org.apache.qpid.proton.engine.impl.SenderImpl@78129dcf}
> Thu Jul 23 17:36:59 EEST 2015 WritePool:1 AMQP>SENT: {Detach{handle=0, closed=false, error=null}}
> (this is when the unsubscribe(string) call occurs)
> Thu Jul 23 17:37:21 EEST 2015 ReadPool:2 AMQP>RECV: {Attach{name='testTopicDeleteDurableSubscriberState', handle=0, role=RECEIVER, sndSettleMode=UNSETTLED, rcvSettleMode=FIRST, source=null, target=Target{address='fe08f28a-f8ad-4031-8e63-a5759176f8da', durable=NONE, expiryPolicy=SESSION_END, timeout=0, dynamic=false, dynamicNodeProperties=null, capabilities=null}, unsettled=null, incompleteUnsettled=false, initialDeliveryCount=null, maxMessageSize=null, offeredCapabilities=null, desiredCapabilities=null, properties=null}}
> Thu Jul 23 17:37:21 EEST 2015 ReadPool:2 AMQP>Trace:EventImpl{type=LINK_REMOTE_OPEN, context=org.apache.qpid.proton.engine.impl.SenderImpl@78129dcf}
> Thu Jul 23 17:37:21 EEST 2015 ReadPool:2 AMQP>Trace:EventImpl{type=LINK_LOCAL_OPEN, context=org.apache.qpid.proton.engine.impl.SenderImpl@78129dcf}
>
>
>
> This communication contains information which is confidential and may also be privileged. It is for the exclusive use of the intended recipient(s). If you are not the intended recipient(s), please note that any distribution, copying, or use of this communication or the information in it, is strictly prohibited. If you have received this communication in error please notify us by e-mail and then delete the e-mail and any copies of it.
> Software AG (UK) Limited Registered in England & Wales 1310740 - http://www.softwareag.com/uk
>