Bug 514563
| Summary: | "Unexpected command continuation frame" error on replication link | ||
|---|---|---|---|
| Product: | Red Hat Enterprise MRG | Reporter: | Gordon Sim <gsim> |
| Component: | qpid-cpp | Assignee: | Carl Trieloff <cctrieloff> |
| Status: | CLOSED ERRATA | QA Contact: | Jiri Kolar <jkolar> |
| Severity: | medium | Docs Contact: | |
| Priority: | urgent | ||
| Version: | 1.1.2 | CC: | fhirtz, freznice, iboverma, jkolar, lbrindle, mcressma, tao |
| Target Milestone: | 1.2 | ||
| Target Release: | --- | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: |
Messaging bug fix
C: Some recovered flow-to-disk messages on replicated queues could cause an invalid frame sequence to be sent over the bridge that is transferring replication events.
C: "Unexpected command continuation frame" error on replication link
F: The frame sequencing order was corrected
R: link conveys replication events as normal and the state of the queue on the backup matches that of the source
Some recovered flow-to-disk messages on replicated queues could cause an invalid frame sequence to be sent over the bridge that is transferring replication events. This caused an "Unexpected command continuation frame" error on the replication link. The frame sequencing order was corrected and the link now conveys replication events as normal.
|
Story Points: | --- |
| Clone Of: | Environment: | ||
| Last Closed: | 2009-12-03 09:16:55 UTC | Type: | --- |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
| Bug Depends On: | |||
| Bug Blocks: | 527551 | ||
fixed 817742.. needs backport fixed svn 818244 and requires 817742 The issue has been fixed in -30, but in described reproducer you have to add following to get this work on -30 and newer: "--async-queue-events false" for every broker command "--limit-policy flow-to-disk" for every queue adding validated on RHEL 5.4 / 4.8 i386 / x86_64 on packages: [root@mrg-qe-02 bz505274]# rpm -qa | egrep '(qpid|rhm)' | sort python-qpid-0.5.760500-6.el4 qpidc-0.5.752581-30.el4 qpidc-debuginfo-0.5.752581-28.el4 qpidc-devel-0.5.752581-30.el4 qpidc-ssl-0.5.752581-30.el4 qpidd-0.5.752581-30.el4 qpidd-acl-0.5.752581-30.el4 qpidd-devel-0.5.752581-30.el4 qpid-dotnet-0.4.738274-2.el4 qpidd-ssl-0.5.752581-30.el4 qpidd-xml-0.5.752581-30.el4 qpid-java-client-0.5.751061-9.el4 qpid-java-common-0.5.751061-9.el4 rhm-0.5.3206-17.el4 rhm-docs-0.5.756148-1.el4 rh-tests-distribution-MRG-Messaging-qpid_common-1.5-15 -> VERIFIED Release note added. If any revisions are required, please set the "requires_release_notes" flag to "?" and edit the "Release Notes" field accordingly. All revisions will be proofread by the Engineering Content Services team. New Contents: Corrected an invalid frame sequence when sending recovered, flow to disk messages on replicated queues with zero max-size, over the replicating bridge (514563) Release note updated. If any revisions are required, please set the "requires_release_notes" flag to "?" and edit the "Release Notes" field accordingly. All revisions will be proofread by the Engineering Content Services team. Diffed Contents: @@ -1,2 +1,8 @@ -Corrected an invalid frame sequence when sending recovered, flow to disk messages on replicated queues with zero max-size, over the replicating +Messaging bug fix -bridge (514563)+ +C: Some recovered flow-to-disk messages on replicated queues could cause an invalid frame sequence to be sent over the bridge that is transferring replication events. +C: "Unexpected command continuation frame" error on replication link +F: +R: link conveys replication events as normal and the state of the queue on the backup matches that of the source + +MORE INFORMATION REQUIRED FOR RELNOTE Release note updated. If any revisions are required, please set the "requires_release_notes" flag to "?" and edit the "Release Notes" field accordingly. All revisions will be proofread by the Engineering Content Services team. Diffed Contents: @@ -2,7 +2,8 @@ C: Some recovered flow-to-disk messages on replicated queues could cause an invalid frame sequence to be sent over the bridge that is transferring replication events. C: "Unexpected command continuation frame" error on replication link -F: +F: The frame sequencing order was corrected R: link conveys replication events as normal and the state of the queue on the backup matches that of the source -MORE INFORMATION REQUIRED FOR RELNOTE+ +Some recovered flow-to-disk messages on replicated queues could cause an invalid frame sequence to be sent over the bridge that is transferring replication events. This caused an "Unexpected command continuation frame" error on the replication link. The frame sequencing order was corrected and the link now conveys replication events as normal. 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-2009-1633.html |
Description of problem: Recovered, flow to disk messages on replicated queues with zero max-size cause an invalid frame sequence to be sent over the bridge that is transfering replication events. Version-Release number of selected component (if applicable): qpidd-0.5.752581-26.el5 rhm-0.5.3206-9.el5 How reproducible: 100% Steps to Reproduce: 1. start broker enabled as replication source with a zero default queue size e.g. /usr/sbin/qpidd --auth no --create-replication-queue --replication-queue replication --default-queue-limit 0 2. create a durable queue on this broker with a non-zero count limit and flow-to-disk as the limit policy e.g. qpid-config add queue test-queue --durable --max-queue-count 5 --generate-queue-events 2 3. send more durable messages to that queue than the configured count limit e.g. for i in `seq 1 10`; do echo msg$i; done | sender --send-eos 1 --durable true 4. restart the source broker (using same options as specified in 1.) 5. start a backup broker (e.g. I started on same box with port 5673) 6. create a queue of the same name on the backup broker e.g. qpid-config -a localhost:5673 add queue test-queue 7. create a replication exchange on the backup broker e.g. qpid-config -a localhost:5673 add exchange replication replication 8. bridge between the replication queue on source and the replication exchange on backup e.g. qpid-route queue add localhost:5673 localhost:5672 replication replication Actual results: Source broker reports: 2009-jul-29 12:34:18 error Connection 127.0.0.1:47496 closed by error: Unexpected command continuation frame. (qpid/SessionState.cpp:75)(501) 2009-jul-29 12:34:22 error Channel exception: session-busy: Session already attached: guest (qpid/broker/SessionManager.cpp:55) 2009-jul-29 12:34:22 error Channel exception: not-attached: Channel 1 is not attached (qpid/amqp_0_10/SessionHandler.cpp:40) Expected results: No errors, link conveys replication events as normal and the state of the queue on the backup matches that of the source (albeit with a short lag). Additional info: