Bug 667172 - JMS Client does not set "redelivered" flag on retransmitted messages
Summary: JMS Client does not set "redelivered" flag on retransmitted messages
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise MRG
Classification: Red Hat
Component: qpid-java
Version: 1.3
Hardware: Unspecified
OS: Unspecified
urgent
medium
Target Milestone: 2.0
: ---
Assignee: Rajith Attapattu
QA Contact: ppecka
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-01-04 18:01 UTC by Gordon Sim
Modified: 2011-06-23 15:44 UTC (History)
4 users (show)

Fixed In Version: qpid-java-0.9.1080013
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2011-06-23 15:44:30 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHEA-2011:0890 0 normal SHIPPED_LIVE Red Hat Enterprise MRG Messaging 2.0 Release 2011-06-23 15:42:41 UTC

Description Gordon Sim 2011-01-04 18:01:48 UTC
Description of problem:

When a JMS client fails over it will replay in doubt messages. These replayed messages should have the redelivered flag set on them.

Steps to Reproduce:
1. send stream of messages via jms client
2. trigger failover mid-stream
3. verify that the queue to which stream was directed has all messages at-least-once; there should be some duplicates and in all cases the ater copies of those duplicates should have redelivered set to true.
  
Actual results:

redelivered is not set to true for duplicates.

Additional info:

See also bugs 640618 and 653923.

Comment 1 Rajith Attapattu 2011-01-11 15:13:33 UTC
This is covered in upstream by QPID-2995
I have committed a fix in upstream at rev 1057462 in Qpid trunk.

The impact of the change is isolated within the resume method in Sesion.java and has no impact on other functionality.

As pasted below, when we replay (MessageTransfers we set the redelivered flag.

+                else if (m instanceof MessageTransfer)
+                {
+                    ((MessageTransfer)m).getHeader().get(DeliveryProperties.class).setRedelivered(true);
+                }

Could we include this in MRG 1.3.2 ? or roll it into MRG 2.0  as scheduled ?

Comment 3 ppecka 2011-04-29 14:09:37 UTC
VERIFIED RHEL5 / RHEL6 both i386 / x86_64

python-qpid-0.10-1.el6.noarch
python-qpid-qmf-0.10-6.el6.x86_64
qpid-cpp-client-0.10-3.el6.x86_64
qpid-cpp-client-devel-0.10-3.el6.x86_64
qpid-cpp-client-devel-docs-0.10-3.el6.noarch
qpid-cpp-client-rdma-0.10-3.el6.x86_64
qpid-cpp-client-ssl-0.10-3.el6.x86_64
qpid-cpp-server-0.10-3.el6.x86_64
qpid-cpp-server-cluster-0.10-3.el6.x86_64
qpid-cpp-server-devel-0.10-3.el6.x86_64
qpid-cpp-server-rdma-0.10-3.el6.x86_64
qpid-cpp-server-ssl-0.10-3.el6.x86_64
qpid-cpp-server-store-0.10-3.el6.x86_64
qpid-cpp-server-xml-0.10-3.el6.x86_64
qpid-java-client-0.10-4.el6.noarch
qpid-java-common-0.10-4.el6.noarch
qpid-java-example-0.10-4.el6.noarch
qpid-java-jca-0.10-4.el6.noarch
qpid-qmf-0.10-6.el6.x86_64
qpid-qmf-devel-0.10-6.el6.x86_64
qpid-tests-0.10-1.el6.noarch
qpid-tools-0.10-3.el6.noarch
rh-qpid-cpp-tests-0.10-3.el6.x86_64
ruby-qpid-qmf-0.10-6.el6.x86_64

java-1.6.0-openjdk-devel-1.6.0.0-1.39.1.9.7.el6.x86_64

-->VERIFIED

Comment 4 errata-xmlrpc 2011-06-23 15:44:30 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on therefore solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHEA-2011-0890.html


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