qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Steven Hardy (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (QPID-4583) python-qpid limits map element size to 65535 bytes
Date Fri, 15 Feb 2013 15:43:12 GMT

    [ https://issues.apache.org/jira/browse/QPID-4583?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13579255#comment-13579255
] 

Steven Hardy commented on QPID-4583:
------------------------------------

I don't believe this is a good solution (although it may be a viable workaround in some circumstances
I guess)

The problem is you've got no way to detect the binary encoding has happened on the receiver
side, also this requires users to know about internal implementation details of the qpid codec,
since nothing in the amqp spec suggests a limitation on map element sizes (only the total
size).

It seems to me that the problem here is python-qpid map encoding should not use str16, and
it should not encode every element in the map individually as a string, it would make more
sense IMHO to convert the entire dict into a format which could be sent over the transport
as a vbin32 - this seems to be implied by the amqp spec since the maximum allowable size of
a map (plus the count) is the same as a vbin32.
                
> python-qpid limits map element size to 65535 bytes
> --------------------------------------------------
>
>                 Key: QPID-4583
>                 URL: https://issues.apache.org/jira/browse/QPID-4583
>             Project: Qpid
>          Issue Type: Bug
>          Components: Python Client
>    Affects Versions: 0.20
>         Environment: Tested on Fedora 17, python-qpid-0.20-1.fc17.noarch
>            Reporter: Steven Hardy
>            Assignee: Gordon Sim
>
> It seems that we hit a limit of 65535 bytes when encoding a map via python-qpid, because
the map elements are encoded as a str16 (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.", and I don't see any specified limit for individual
map elements.  This limitation does not appear to exist when testing on rabbitmq, so I'm wondering
if it's possible to work out a way to remove this limit when using qpid.
> Reproducer:
> git clone https://gist.github.com/hardys/4951857
> cd 4951857
> python reproducer.py

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org


Mime
View raw message