Description of problem: If a message larger than 64k is recovered from store by the first node in the cluster, then when another node joins the first node will hang while trying to transfer that message. Version-Release number of selected component (if applicable): qpidd-0.5.752581-14.el5 How reproducible: 100% Steps to Reproduce: 1. start one node 2. create durable queue 3. send large durable message (>64k) to that queue 4. stop node 5. start node again in cluster mode using store from steps above 6. start second node for that cluster Actual results: first node hangs Expected results: all state transfered to second node, all cluster nodes then responding to requests as usual Additional info:
Created attachment 347311 [details] Fix
Example test case: 1. create data file with one very long line: for i in `seq 1 1000000`; do echo x; done | tr -d '\n' > /tmp/input echo '' >> /tmp/input # add new line to end of single line 2. start cluster node qpidd --auth no --cluster-name test-cluster 3. create durable queue: qpid-config add queue test-queue --durable 4. send large message: sender --send-eos 1 --durable true < /tmp/input 5. stop and restart node started in step 2 6. start new cluster node qpidd --auth no --cluster-name test-cluster --port 5673 --data-dir data-5673 7. test message was correctly transfered to this new node receiver -p 5673 > /tmp/output diff /tmp/input tmp/output
Fixed on trunk as r783571.
Created attachment 347324 [details] Revised fix Previous patch broke transfer of messages whose content was released.
Repredoced on qpidd-0.5.752581-14.el5 using the abovewritten steps. Thanks for that!
Reproduced on RHEL5-i386 <=> RHEL5-i386 Verified on qpidc-16 build in these scenarios First in cluster | Second in cluster ^^^^^^^^^^^^^^^^^^|^^^^^^^^^^^^^^^^^^^ RHEL5-i386 | RHEL5-i386 RHEL5-x86_64 | RHEL5-i386 RHEL5-i386 | RHEL5-x86_64 RHEL5-x86_64 | RHEL5-x86_64 Thanks for early build of packages!
Created attachment 347396 [details] Not so automated (but very helpful) test sandbox
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/RHBA-2009-1097.html