On Wed, Feb 13, 2013 at 05:38:46PM +0000, Gordon Sim wrote:
> On 02/13/2013 08:49 AM, Steven Hardy wrote:
> >Hi,
> >
> >I'm trying to understand some differences encoding map datatypes between
> >qpid and rabbitmq (openstack project which needs to support both)
> >
> >It seems that we hit a limit of 2^16 bytes when encoding a map on qpid,
> >because the map appears to be encoded as a string (write_map in codec010.py)
> >
> >Looking at the amqp 0-10 spec, it says "An encoded map may contain up to
> >(4294967295 - 4) octets worth of encoded entries.", so I'm trying to
> >understand the 65535 byte limitation I'm hitting, since we do not appear to
> >hit the same problem when configured to use rabbit.
> >
> >Can anyone please advise - is this a bug in python-qpid, or an expected
> >limitation of the qpid implementation?
> 
> I think that is a bug in python-qpid. Do you have a simple
> reproducer you could attach to a JIRA?

I've created a minimal reproducer - after looking a bit more closely, the
limitation is that no element of the dict/map can exceed 2^16 characters, or
the str16 encoding fails, so the limit is not based on total map size.

I don't see anything in the spec specifying limits on individual map
elements, only the total size, and as I mentioned before, this does work
fine with rabbitmq, so I'll raise a JIRA issue.

Reproduce procedure:

git clone https://gist.github.com/hardys/4951857
cd 4951857
python reproducer.py

Thanks,

Steve

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to