[
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]