Description of problem: With AMQP 0.10 message size == size of content, but with AMQP 1.0 message size == whole (probably encoded) message. This should be unified. Also 'size' parameter of the Message object in C++ contains only the size of content. Other languages lacks the size parameter. Version-Release number of selected component (if applicable): qpid-cpp-0.22-16 How reproducible: 100% Steps to Reproduce: 1. send message via amqp 0.10 with one character content ./spout --content "A" "amqp0-10;{create: always}" 2. send message via amqp 1.0 with one character content ./spout --connection-options "{ protocol: 'amqp1.0' }" --content "A" "amqp1.0;{create: always}" 3. observe result qpid-stat -q Actual results: Queues queue dur autoDel excl msg msgIn msgOut bytes bytesIn bytesOut cons bind ========================================================================================================================= 89fbce1d-0b95-4e16-877b-b0d32876b93d:0.0 Y Y 0 0 0 0 0 0 1 2 amqp0-10 1 1 0 1 1 0 0 1 amqp1.0 1 1 0 101 101 0 0 1 Expected results: Queues queue dur autoDel excl msg msgIn msgOut bytes bytesIn bytesOut cons bind ========================================================================================================================= 89fbce1d-0b95-4e16-877b-b0d32876b93d:0.0 Y Y 0 0 0 0 0 0 1 2 amqp0-10 1 1 0 1 1 0 0 1 amqp1.0 1 1 0 1 1 0 0 1 ## OR ## Queues queue dur autoDel excl msg msgIn msgOut bytes bytesIn bytesOut cons bind ========================================================================================================================= 89fbce1d-0b95-4e16-877b-b0d32876b93d:0.0 Y Y 0 0 0 0 0 0 1 2 amqp0-10 1 1 0 101 101 0 0 1 amqp1.0 1 1 0 101 101 0 0 1 Additional info: This difference also influence others, for example limit enforcement for message sizes.
Fixed upstream: https://svn.apache.org/r1528852
Unset the skip-errata flag as this will affect existing 0-10 based deployments, though admittedly the issue is described as a comparison with 1.0.
This was tested on RHEL 6.5 i686, x86_64 with following packages: perl-qpid-0.22-7.el6 python-qpid-0.22-9.el6 python-qpid-qmf-0.22-25.el6 qpid-cpp-client-0.22-31.el6 qpid-cpp-client-devel-0.22-31.el6 qpid-cpp-client-devel-docs-0.22-31.el6 qpid-cpp-client-ssl-0.22-31.el6 qpid-cpp-debuginfo-0.22-31.el6 qpid-cpp-server-0.22-31.el6 qpid-cpp-server-devel-0.22-31.el6 qpid-cpp-server-ha-0.22-31.el6 qpid-cpp-server-linearstore-0.22-31.el6 qpid-cpp-server-ssl-0.22-31.el6 qpid-cpp-server-xml-0.22-31.el6 qpid-java-client-0.22-5.el6 qpid-java-common-0.22-5.el6 qpid-java-example-0.22-5.el6 qpid-jca-0.22-1.el6 qpid-jca-xarecovery-0.22-1.el6 qpid-proton-c-0.6-1.el6 qpid-proton-c-devel-0.6-1.el6 qpid-qmf-0.22-25.el6 qpid-snmpd-1.0.0-15.el6 qpid-tools-0.22-7.el6 ruby-qpid-qmf-0.22-25.el6 fix work as expected.