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

[email protected] commented on QPID-3252:
-----------------------------------------------------


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/701/
-----------------------------------------------------------

(Updated 2011-05-10 21:25:11.588275)


Review request for qpid, Alan Conway, Gordon Sim, and Kim van der Riet.


Changes
-------

This refactor brings transient traffic performance back to pre-patch levels.  
I've moved the whole flush-or-save logic into the clone() callback which is 
invoked only if the message.transfer cannot be completed asynchronously.  This 
removes it from the transient fast-path.

Let me know what you think.


Summary
-------

Broker now issues an explicit flush for each received message that has the sync 
flag set in the message.transfer command.
Broker also tracks all messages received that do _not_ have the sync flag set, 
and will flush these messages on receipt of an execution.sync.


This addresses bug QPID-3252.
    https://issues.apache.org/jira/browse/QPID-3252


Diffs (updated)
-----

  /trunk/qpid/cpp/src/qpid/broker/SessionState.h 1101542 
  /trunk/qpid/cpp/src/qpid/broker/SessionState.cpp 1101542 

Diff: https://reviews.apache.org/r/701/diff


Testing
-------

qpid unit & store unit


Thanks,

Kenneth



> Regression: broker no longer explicitly flushes messages to store on 
> execution.sync or when sync command bit set.
> -----------------------------------------------------------------------------------------------------------------
>
>                 Key: QPID-3252
>                 URL: https://issues.apache.org/jira/browse/QPID-3252
>             Project: Qpid
>          Issue Type: Bug
>          Components: C++ Broker
>    Affects Versions: 0.10
>            Reporter: Ken Giusti
>            Assignee: Ken Giusti
>             Fix For: 0.11
>
>
> In the previous release of the broker, an execution.sync command, or a 
> message.transfer command with a sync flag would cause the broker to 
> explicitly flush the message(s) and pend until the flushes complete.  In the 
> new asynchronous model, the broker does not initiate a flush under these 
> scenarios.  Without explicitly flushing, the completion of a 
> message.transfer/execution.sync may delay for an unacceptable amount of time 
> (ex. 1sec+) when used with store.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:[email protected]

Reply via email to