Bug 673152 - JMS client producer option -Dsync_publish=persistent has no effect
Summary: JMS client producer option -Dsync_publish=persistent has no effect
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Red Hat Enterprise MRG
Classification: Red Hat
Component: qpid-java
Version: Development
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: 2.0
: ---
Assignee: messaging-bugs
QA Contact: MRG Quality Engineering
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-01-27 14:57 UTC by Kim van der Riet
Modified: 2018-11-14 13:01 UTC (History)
3 users (show)

Fixed In Version: 0.10
Doc Type: Bug Fix
Doc Text:
Cause: The JVM option -Dsync_publish has no effect. Consequence: A user is unable to configure the client to send messages synchronously. However for durable messaging a user could still use the deprecated option -Dsync_persistence=true to work around this. Still it has no way of specifying synchronous publish for transient messages. Fix: The JMS client is now able to send messages synchronously. The sync_publish option takes one of {transient,persistent,all,''}. Where '' represents none. The default is set to '', where all messages are sent asynchronously. Result: Depending on the value of sync_publish one of the following will happen, 1. Default Behaviour - all messages are sent asynchronously. 2. persistent - Only persistent messages are sent synchronously. 3. transient - Only transient messages are sent synchronously. 4. all - all messages are sent synchronously.
Clone Of:
Environment:
Last Closed: 2013-02-24 16:41:37 UTC
Target Upstream Version:


Attachments (Terms of Use)

Description Kim van der Riet 2011-01-27 14:57:10 UTC
The JMS client has options -Dsync_persistence=true|false (which has been deprecated, and its replacement -Dsync_publish=persistent|all. Using a store with prints out its operations:

1E:  = store enqueue
1F   = store flush operation
1Wcb = store write callback (completion of async disk write)

the first (obsolete) operation works as expected:

... 1E: 1F 1Wcb 1E: 1F 1Wcb 1E: 1F 1Wcb ...

while the latter option is ignored:

... 1E: 1E: 1E: 1E: 1E: 1E: 1E: ...

Comment 1 Rajith Attapattu 2011-03-14 21:30:35 UTC
Fixed in upstream at http://svn.apache.org/viewvc?view=rev&rev=1069998
The fixes are now included in rpms from version qpid-java-0.9.1080013-2

Comment 2 Rajith Attapattu 2011-03-14 21:30:35 UTC
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
Cause: The JVM option -Dsync_publish has no effect.

Consequence:  A user is unable to configure the client to send messages synchronously. However for durable messaging a user could still use the deprecated option -Dsync_persistence=true to work around this. Still it has no way of specifying synchronous publish for transient messages.


Fix:          The JMS client is now able to send messages synchronously. The sync_publish option takes one of {transient,persistent,all,''}. Where '' represents none.
The default is set to '', where all messages are sent asynchronously.

Result:       Depending on the value of sync_publish one of the following will happen,

1. Default Behaviour - all messages are sent asynchronously.

2. persistent - Only persistent messages are sent synchronously.

3. transient - Only transient messages are sent synchronously.

4. all - all messages are sent synchronously.


Note You need to log in before you can comment on or make changes to this bug.