[ 
https://issues.apache.org/jira/browse/QPID-1262?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12625694#action_12625694
 ] 

Martin Ritchie commented on QPID-1262:
--------------------------------------

pool-2-thread-2 2008-08-26 11:17:58,253 INFO 
[qpid.server.store.SlowMessageStore] Done sleep for:2002:2000
pool-2-thread-2 2008-08-26 11:17:58,253 DEBUG 
[qpid.server.txn.LocalTransactionalContext] Performing post commit delivery
pool-2-thread-2 2008-08-26 11:17:58,254 DEBUG 
[qpid.server.protocol.AMQProtocolSession] Frame Received: Frame channelId: 1, 
bodyFrame: [ExchangeDeclareBodyImpl: ticket=0, exchange=amq.direct, 
type=direct, passive=false, durable=false, autoDelete=false, internal=false, 
nowait=true, arguments=null]
pool-2-thread-2 2008-08-26 11:17:58,255 DEBUG 
[server.security.access.ACLManager] Allowing user:guest for :CREATE on 
ExchangeDeclareBodyImpl
pool-2-thread-2 2008-08-26 11:17:58,255 DEBUG 
[qpid.server.handler.ExchangeDeclareHandler] Request to declare exchange of 
type direct with name amq.direct
pool-2-thread-2 2008-08-26 11:17:58,255 DEBUG 
[apache.qpid.framing.AMQDataBlockEncoder] Encoded frame byte-buffer is 
'0x01000100000004005a0015ce'
pool-2-thread-2 2008-08-26 11:17:58,256 DEBUG 
[qpid.server.protocol.AMQPFastProtocolHandler] Message sent: DirectBuffer[pos=0 
lim=12 cap=16: 01 00 01 00 00 00 04 00 5A 00 15 CE]
pool-2-thread-2 2008-08-26 11:17:58,256 DEBUG 
[qpid.server.protocol.AMQPFastProtocolHandler] Message sent: Frame channelId: 
1, bodyFrame: [TxCommitOkBodyImpl: ]
pool-2-thread-3 2008-08-26 11:17:58,257 INFO [qpid.protocol] RECV: [EMAIL 
PROTECTED] Frame channelId: 1, bodyFrame: [TxCommitOkBodyImpl: ]
pool-2-thread-3 2008-08-26 11:17:58,257 DEBUG 
[qpid.client.protocol.AMQProtocolHandler] (22667604)Method frame received: 
[TxCommitOkBodyImpl: ]

The above log was generated with s slightly modified test:
        POST_COMMIT_DELAY = 2000L;
        SYNC_WRITE_TIMEOUT = 1000L;

loop the test() method
warn "START" // at the start of the test loop
Sleep 1s // at the end of the test loop

AMQProtocolHandler added logging to print Blocking time and expected frame
SlowMessageStore augmented to print the duration and requested sleep times

> [AMQP-0-8/9] Client can incorrectly report CommitOK if previous commit timed 
> out.
> ---------------------------------------------------------------------------------
>
>                 Key: QPID-1262
>                 URL: https://issues.apache.org/jira/browse/QPID-1262
>             Project: Qpid
>          Issue Type: Bug
>          Components: Java Broker
>    Affects Versions: M2.1, M3
>            Reporter: Martin Ritchie
>
> Summary:
> As shown by the new SyncWaitTimeoutDelayTest there is a bug in AMQP. The 
> TxCommitOk bodies do not have a correlation id so it is impossible to tell if 
> the TxCommitOk received is for the last TxCommit sent if you have timed out a 
> previous commit.
> Attached is a log for this behaviour. As this is an AMQP bug it is unlikely 
> we can resolve it in Qpid. 
> Question is does 0-10 also exhibit this behaviour.
> Work around is to close the session after a commit timeout this will ensure 
> that the TxCommitOk does not spuriously arrive on the client. It does however 
> leave you unsure of the commit state, but presumably there was a reason you 
> gave up waiting for the TxCommitOk and are prepared for the operation 
> actually succeeding but never being notified about it.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to