[jira] [Issue Comment Edited] (QPID-3230) Update the website for the 0.10 release
[ https://issues.apache.org/jira/browse/QPID-3230?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13026984#comment-13026984 ] Jonathan Robie edited comment on QPID-3230 at 4/29/11 2:20 PM: --- I've applied Justin's diff, generated doxygen and epydoc, rebuild the docymentation, and updated the documentation page. I made it live yesterday. Robbie has now added release notes. was (Author: jonathan.robie): I've applied Justin's diff, generated doxygen and epydoc, rebuild the docymentation, and updated the documentation page. Update the website for the 0.10 release --- Key: QPID-3230 URL: https://issues.apache.org/jira/browse/QPID-3230 Project: Qpid Issue Type: Task Components: Documentation Affects Versions: 0.11 Reporter: Justin Ross Assignee: Robbie Gemmell Fix For: 0.11 Attachments: website.diff Update download.html and compatibility.html. - Remove links to artifacts we no longer ship - Add links to the tools and qmf artifacts - Some cleanups to the text and html -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] [Commented] (QPID-3230) Update the website for the 0.10 release
[ https://issues.apache.org/jira/browse/QPID-3230?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13026984#comment-13026984 ] Jonathan Robie commented on QPID-3230: -- I've applied Justin's diff, generated doxygen and epydoc, rebuild the docymentation, and updated the documentation page. Update the website for the 0.10 release --- Key: QPID-3230 URL: https://issues.apache.org/jira/browse/QPID-3230 Project: Qpid Issue Type: Task Components: Documentation Affects Versions: 0.11 Reporter: Justin Ross Assignee: Robbie Gemmell Fix For: 0.11 Attachments: website.diff Update download.html and compatibility.html. - Remove links to artifacts we no longer ship - Add links to the tools and qmf artifacts - Some cleanups to the text and html -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] [Commented] (QPID-3185) Wrong help text for qpid-config
[ https://issues.apache.org/jira/browse/QPID-3185?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13022321#comment-13022321 ] Jonathan Robie commented on QPID-3185: -- Further fixes have been made; see http://svn.apache.org/viewvc?view=revisionrevision=1094727 for the current version. Wrong help text for qpid-config --- Key: QPID-3185 URL: https://issues.apache.org/jira/browse/QPID-3185 Project: Qpid Issue Type: Bug Components: python tools Affects Versions: 0.10 Reporter: Jonathan Robie Fix For: 0.10 Help text for qpid-config is wrong for --max-queue-size, --max-queue-count. This is fixed in 1087706: http://svn.apache.org/viewvc?rev=1087706view=rev -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] [Issue Comment Edited] (QPID-3185) Wrong help text for qpid-config
[ https://issues.apache.org/jira/browse/QPID-3185?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13022321#comment-13022321 ] Jonathan Robie edited comment on QPID-3185 at 4/20/11 8:06 PM: --- Further fixes have been made; see http://svn.apache.org/viewvc?view=revisionrevision=1094727 for the current version. This includes: 1. Fixing the text for --broker-addr, which had the text for the wrong option 2. Fixing the name of --force-if-used, which had been mistakenly renamed --force-if-not-used was (Author: jonathan.robie): Further fixes have been made; see http://svn.apache.org/viewvc?view=revisionrevision=1094727 for the current version. Wrong help text for qpid-config --- Key: QPID-3185 URL: https://issues.apache.org/jira/browse/QPID-3185 Project: Qpid Issue Type: Bug Components: python tools Affects Versions: 0.10 Reporter: Jonathan Robie Fix For: 0.10 Help text for qpid-config is wrong for --max-queue-size, --max-queue-count. This is fixed in 1087706: http://svn.apache.org/viewvc?rev=1087706view=rev -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] [Created] (QPID-3185) Wrong help text for qpid-config
Wrong help text for qpid-config --- Key: QPID-3185 URL: https://issues.apache.org/jira/browse/QPID-3185 Project: Qpid Issue Type: Bug Components: python tools Affects Versions: 0.10 Reporter: Jonathan Robie Help text for qpid-config is wrong for --max-queue-size, --max-queue-count. This is fixed in 1087706: http://svn.apache.org/viewvc?rev=1087706view=rev -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] [Updated] (QPID-3185) Wrong help text for qpid-config
[ https://issues.apache.org/jira/browse/QPID-3185?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jonathan Robie updated QPID-3185: - Fix Version/s: 0.10 Wrong help text for qpid-config --- Key: QPID-3185 URL: https://issues.apache.org/jira/browse/QPID-3185 Project: Qpid Issue Type: Bug Components: python tools Affects Versions: 0.10 Reporter: Jonathan Robie Fix For: 0.10 Help text for qpid-config is wrong for --max-queue-size, --max-queue-count. This is fixed in 1087706: http://svn.apache.org/viewvc?rev=1087706view=rev -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] [Updated] (QPID-3185) Wrong help text for qpid-config
[ https://issues.apache.org/jira/browse/QPID-3185?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jonathan Robie updated QPID-3185: - Description: Help text for qpid-config is wrong for --max-queue-size, --max-queue-count. This is fixed in 1087706: http://svn.apache.org/viewvc?rev=1087706view=rev was: Help text for qpid-config is wrong for --max-queue-size, --max-queue-count. This is fixed in 1087706: http://svn.apache.org/viewvc?rev=1087706view=rev Wrong help text for qpid-config --- Key: QPID-3185 URL: https://issues.apache.org/jira/browse/QPID-3185 Project: Qpid Issue Type: Bug Components: python tools Affects Versions: 0.10 Reporter: Jonathan Robie Fix For: 0.10 Help text for qpid-config is wrong for --max-queue-size, --max-queue-count. This is fixed in 1087706: http://svn.apache.org/viewvc?rev=1087706view=rev -- This message is automatically generated by JIRA. For more information on JIRA, see: http://www.atlassian.com/software/jira - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] Created: (QPID-3051) Reject can fail to restore message credit
Reject can fail to restore message credit - Key: QPID-3051 URL: https://issues.apache.org/jira/browse/QPID-3051 Project: Qpid Issue Type: Bug Components: C++ Broker Reporter: Jonathan Robie Assignee: Jonathan Robie Fix For: 0.9 Message rejects can fail to restore message credit. See https://bugzilla.redhat.com/show_bug.cgi?id=674631 -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] Resolved: (QPID-3040) Closed Receivers Do Not Delete Queues and Do Not Reroute Acquired Messages to Alternate Exchange
[ https://issues.apache.org/jira/browse/QPID-3040?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jonathan Robie resolved QPID-3040. -- Resolution: Fixed Fix Version/s: 0.9 Fixed in revision 1069030 The C++ messaging client library now releases pending messages when a Receiver is closed. This releases only messages in the client's cache that have not been read. It does not release messages that have been read by the client application, but not acknowledged. Closed Receivers Do Not Delete Queues and Do Not Reroute Acquired Messages to Alternate Exchange - Key: QPID-3040 URL: https://issues.apache.org/jira/browse/QPID-3040 Project: Qpid Issue Type: Bug Reporter: Jonathan Robie Assignee: Jonathan Robie Fix For: 0.9 Bug description is here: https://bugzilla.redhat.com/show_bug.cgi?id=674678 -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] Created: (QPID-3040) Closed Receivers Do Not Delete Queues and Do Not Reroute Acquired Messages to Alternate Exchange
Closed Receivers Do Not Delete Queues and Do Not Reroute Acquired Messages to Alternate Exchange - Key: QPID-3040 URL: https://issues.apache.org/jira/browse/QPID-3040 Project: Qpid Issue Type: Bug Reporter: Jonathan Robie Assignee: Jonathan Robie Bug description is here: https://bugzilla.redhat.com/show_bug.cgi?id=674678 -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] Created: (QPID-3031) Allow C++ messaging client to specify SSL cert-name in connection
Allow C++ messaging client to specify SSL cert-name in connection - Key: QPID-3031 URL: https://issues.apache.org/jira/browse/QPID-3031 Project: Qpid Issue Type: New Feature Components: C++ Client Reporter: Jonathan Robie Assignee: Jonathan Robie Allow a C++ messaging client to specify SSL cert-name in connection options: connection.setOption(ssl-cert-name, certName); Allows the cert-name to be set per connection. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] Resolved: (QPID-3031) Allow C++ messaging client to specify SSL cert-name in connection
[ https://issues.apache.org/jira/browse/QPID-3031?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jonathan Robie resolved QPID-3031. -- Resolution: Fixed Fix Version/s: 0.9 Fixed in revision 1066508. Allow C++ messaging client to specify SSL cert-name in connection - Key: QPID-3031 URL: https://issues.apache.org/jira/browse/QPID-3031 Project: Qpid Issue Type: New Feature Components: C++ Client Reporter: Jonathan Robie Assignee: Jonathan Robie Fix For: 0.9 Allow a C++ messaging client to specify SSL cert-name in connection options: connection.setOption(ssl-cert-name, certName); Allows the cert-name to be set per connection. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] Resolved: (QPID-2499) Stale federation routes remain after route deletion.
[ https://issues.apache.org/jira/browse/QPID-2499?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jonathan Robie resolved QPID-2499. -- Resolution: Fixed Assignee: Jonathan Robie (was: Ken Giusti) Fixed in revision 1058747. Stale federation routes remain after route deletion. Key: QPID-2499 URL: https://issues.apache.org/jira/browse/QPID-2499 Project: Qpid Issue Type: Bug Components: C++ Broker Affects Versions: 0.7 Reporter: Ken Giusti Assignee: Jonathan Robie Priority: Minor Fix For: 0.9 Attachments: fed-direct-stale-routes.sh When the same routing key is used for multiple bindings, deleting one of the bindings may not remove routes that are dependent on that binding. This will result in unnecessarily forwarding some messages. I will attach a script that exhibits this bug shortly. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] Created: (QPID-2990) dir() does not show property or statistic members on QMF objects
dir() does not show property or statistic members on QMF objects Key: QPID-2990 URL: https://issues.apache.org/jira/browse/QPID-2990 Project: Qpid Issue Type: Bug Components: Qpid Managment Framework Reporter: Jonathan Robie dir() does not show property or statistic members on QMF objects. These members are made available using a custom __getattr__, but there is no corresponding __dir__(). Hence, they can be used in the API: q[0].name u'reply-localhost.localdomain.3389.1' q[0].bindingCountHigh 2 q[0].consumerCount 1 q[0].autoDelete True But they are not reported by dir(): dir (q[0]) ['__class__', '__delattr__', '__dict__', '__doc__', '__format__', '__getattr__', '__getattribute__', '__hash__', '__init__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_agent', '_broker', '_createTime', '_currentTime', '_deleteTime', '_encodeUnmanaged', '_invoke', '_objectId', '_parsePresenceMasks', '_properties', '_schema', '_sendMethodRequest', '_session', '_statistics', 'getAgent', 'getBroker', 'getClassKey', 'getIndex', 'getMethods', 'getObjectId', 'getProperties', 'getSchema', 'getStatistics', 'getTimestamps', 'getV2RoutingKey', 'isDeleted', 'isManaged', 'mergeUpdate', 'update', 'v2Init'] -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] Commented: (QPID-2936) XML exchange only creates external variables from application headers that are strings
[ https://issues.apache.org/jira/browse/QPID-2936?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12964808#action_12964808 ] Jonathan Robie commented on QPID-2936: -- Fixed upstream in 1039478. XML exchange only creates external variables from application headers that are strings -- Key: QPID-2936 URL: https://issues.apache.org/jira/browse/QPID-2936 Project: Qpid Issue Type: Bug Components: C++ Broker Environment: RHEL 5.5 Reporter: Andy Goldstein When using an XQuery expression such as declare variable $control external; $control mod 2 = 0 the XML exchange currently only creates external XQuery variables from strings. For example, if I set an application header to 4, the XML exchange does not create an external variable for it. On the other hand, if I set the header to 4 (a string), the XML exchange will create an external variable for it. It would be useful if the XML exchange supported other application header data types. I tested this on the latest code from trunk, approx. r1033046. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] Created: (QPID-2964) Python client is not sending arguments from messaging address correctly
Python client is not sending arguments from messaging address correctly --- Key: QPID-2964 URL: https://issues.apache.org/jira/browse/QPID-2964 Project: Qpid Issue Type: Bug Components: Python Client Reporter: Jonathan Robie The Python and C++ client libraries are sending arguments from messaging addresses in different ways. This is easily seen by comparing the C++ and Python implementations of drain, using the same command line: $ ./drain -f xml; {link:{x-bindings:[{key:'weather', arguments:{xquery:\$(cat rdu.xquery )\}}]}} Here are the steps needed to reconstruct: 1. Create XML exchange: $ ./qpid-config add exchange xml xml 2. Python client (the XML Exchange receives an empty query $ ./drain -f xml; {link:{x-bindings:[{key:'weather', arguments:{xquery:\$(cat rdu.xquery )\}}]}} Traceback (most recent call last): File ./drain, line 81, in module rcv = ssn.receiver(addr) File string, line 6, in receiver File /home/jrobie/projects/qpid/pure/qpid/python/qpid/messaging/endpoints.py, line 603, in receiver receiver._ewait(lambda: receiver.linked) File /home/jrobie/projects/qpid/pure/qpid/python/qpid/messaging/endpoints.py, line 960, in _ewait result = self.session._ewait(lambda: self.error or predicate(), timeout) File /home/jrobie/projects/qpid/pure/qpid/python/qpid/messaging/endpoints.py, line 554, in _ewait self.check_error() File /home/jrobie/projects/qpid/pure/qpid/python/qpid/messaging/endpoints.py, line 543, in check_error raise self.error qpid.messaging.exceptions.ServerError: internal-error: Could not parse xquery: (qpid/xml/XmlExchange.cpp:96)(541) Broker output: 2010-11-26 10:31:23 trace qpid/amqp_0_10/Connection.cpp:57: RECV [127.0.0.1:59898]: Frame[BEbe; channel=0; {ExchangeBindBody: queue=36361426-3df6-49e2-b70e-7cb22ec24ec3:0.0; exchange=xml; }] 2010-11-26 10:31:23 trace qpid/SessionState.cpp:200: anonymous.36361426-3df6-49e2-b70e-7cb22ec24ec3:0: recv cmd 3: {ExchangeBindBody: queue=36361426-3df6-49e2-b70e-7cb22ec24ec3:0.0; exchange=xml; } # note empty arguments - confirmed in debugger 2010-11-26 10:31:23 trace qpid/xml/XmlExchange.cpp:72: Creating binding with query:# note that query is empty 2010-11-26 10:31:23 debug qpid/Exception.cpp:31: Exception constructed: Could not parse xquery: (qpid/xml/XmlExchange.cpp:96) 2010-11-26 10:31:23 error qpid/amqp_0_10/SessionHandler.cpp:97: Execution exception: internal-error: Could not parse xquery: (qpid/xml/XmlExchange.cpp:96) 2010-11-26 10:31:23 trace qpid/amqp_0_10/Connection.cpp:57: RECV [127.0.0.1:59898]: Frame[BEbe; channel=0; {ExchangeBindBody: queue=36361426-3df6-49e2-b70e-7cb22ec24ec3:0.0; exchange=xml; binding-key=weather; arguments={xquery:V2:204:str16(let $w := ./weather return $w/station = 'Raleigh-Durham International Airport (KRDU)' and $w/temperature_f 50 and $w/temperature_f - $w/dewpoint 5 and $w/wind_speed_mph 7 and $w/wind_speed_mph 20 )}; }] # Note that the query actually was sent to the broker 2010-11-26 10:31:23 trace qpid/amqp_0_10/Connection.cpp:57: RECV [127.0.0.1:59898]: Frame[BEbe; channel=0; {MessageSubscribeBody: queue=36361426-3df6-49e2-b70e-7cb22ec24ec3:0.0; destination=0; accept-mode=0; acquire-mode=0; }] 2010-11-26 10:31:23 trace qpid/amqp_0_10/Connection.cpp:57: RECV [127.0.0.1:59898]: Frame[BEbe; channel=0; {MessageSetFlowModeBody: destination=0; flow-mode=0; }] 2010-11-26 10:31:23 trace qpid/amqp_0_10/Connection.cpp:95: SENT [127.0.0.1:59898]: Frame[BEbe; channel=0; {ExecutionExceptionBody: error-code=541; command-id=3; class-code=7; command-code=4; field-index=0; description=internal-error: Could not parse xquery: (qpid/xml/XmlExchange.cpp:96); error-info={}; }] 2010-11-26 10:31:23 trace qpid/amqp_0_10/Connection.cpp:95: SENT [127.0.0.1:59898]: Frame[BEbe; channel=0; {SessionDetachBody: name=36361426-3df6-49e2-b70e-7cb22ec24ec3:0; }] 2010-11-26 10:31:23 trace qpid/amqp_0_10/Connection.cpp:57: RECV [127.0.0.1:59898]: Frame[BEbe; channel=0; {SessionDetachedBody: name=36361426-3df6-49e2-b70e-7cb22ec24ec3:0; }] 2010-11-26 10:31:23 debug qpid/broker/SessionState.cpp:120: anonymous.36361426-3df6-49e2-b70e-7cb22ec24ec3:0: detached on broker. Looking at the arguments in the broker: Breakpoint 4, 0x00436e7c in qpid::broker::SessionAdapter::ExchangeHandlerImpl::bind (this=0xb604238c, queueName=reply-localhost.localdomain.20520.1, exchangeName=amq.direct, routingKey=reply-localhost.localdomain.20520.1, arguments=...) at ../../cpp/src/qpid/broker/SessionAdapter.cpp:189 ((gdb) p arguments $2 = (const qpid::framing::FieldTable ) @0xb6044918: {values = std::map with 0 elements} Compare to C++ client: (works as expected) $ ./drain -f xml;
[jira] Closed: (QPID-2896) Incorrect detection of data types in address parameters - C++ client
[ https://issues.apache.org/jira/browse/QPID-2896?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jonathan Robie closed QPID-2896. Resolution: Fixed Resolved in revision 1028860. Recognizes integer, floating point, Boolean, and string constants. Added Variant::fromString() to parse strings containing the lexical representation of simple types. Incorrect detection of data types in address parameters - C++ client Key: QPID-2896 URL: https://issues.apache.org/jira/browse/QPID-2896 Project: Qpid Issue Type: Bug Components: C++ Client Affects Versions: 0.7 Reporter: Ted Ross Assignee: Jonathan Robie Priority: Critical Fix For: 0.7 Numeric values in address parameters are incorrectly interpreted as strings. The following address, run on the c++ client, causes the problem: my-queue;{create:always,node:{type:queue,x-declare:{arguments:{'qpid.max_count':60 Reproducer: $ drain my-queue;{create:always,node:{type:queue,x-declare:{arguments:{'qpid.max_count':60 $ qpid-config queues Queue Name Attributes == my-queue Failed: TypeError: %d format: a number is required, not str No only does qpid-config misinterpret the value of the 'qpid.max_count' field, but the broker does as well (i.e. the limit on the queue remains the default). Note that this works properly when using the Python API. It is an inconsistency in the way addresses are parsed and encoded with Python doing it correctly. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] Closed: (QPID-2908) Creating a ring queue with c++ address strings does not work.
[ https://issues.apache.org/jira/browse/QPID-2908?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jonathan Robie closed QPID-2908. Resolution: Fixed See QPID-2896 for resolution. Creating a ring queue with c++ address strings does not work. - Key: QPID-2908 URL: https://issues.apache.org/jira/browse/QPID-2908 Project: Qpid Issue Type: Bug Components: C++ Client Affects Versions: 0.7 Reporter: Alan Conway Assignee: Jonathan Robie Using qpid-send I try to create a ring queue of size 3. I send 5 messages to it, expecting that 2 will be over-written due to the ring queue policy. However qpid-receive shows that all 5 messages were stored on the queue: [acon...@rolf qpid]$ qpid-send -a rq ; { create: always, node: { type:queue, x-declare: { arguments: { 'qpid.max_size': 3, 'qpid.policy_type': ring }} }} --content-stdin a b c d e [acon...@rolf qpid]$ qpid-receive -a rq a b c d e Using qpid-tool I get the following for the queue: arguments {u'qpid.max_size': '3', u'qpid.policy_type': 'ring'} Note single quotes around '3' - it appears to be treated as string rather than integer. On a ring queue created from a python client these quotes don't appear. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] Commented: (QPID-2896) Incorrect detection of data types in address parameters - C++ client
[ https://issues.apache.org/jira/browse/QPID-2896?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12925834#action_12925834 ] Jonathan Robie commented on QPID-2896: -- Revision 1028346 modifies the broker so that invalid values for max_count or max_size are rejected - previously, the default value was used. It now accepts either non-negative integers or string values containing the lexical representation of non-negative integers. Incorrect detection of data types in address parameters - C++ client Key: QPID-2896 URL: https://issues.apache.org/jira/browse/QPID-2896 Project: Qpid Issue Type: Bug Components: C++ Client Affects Versions: 0.7 Reporter: Ted Ross Assignee: Jonathan Robie Priority: Critical Fix For: 0.7 Numeric values in address parameters are incorrectly interpreted as strings. The following address, run on the c++ client, causes the problem: my-queue;{create:always,node:{type:queue,x-declare:{arguments:{'qpid.max_count':60 Reproducer: $ drain my-queue;{create:always,node:{type:queue,x-declare:{arguments:{'qpid.max_count':60 $ qpid-config queues Queue Name Attributes == my-queue Failed: TypeError: %d format: a number is required, not str No only does qpid-config misinterpret the value of the 'qpid.max_count' field, but the broker does as well (i.e. the limit on the queue remains the default). Note that this works properly when using the Python API. It is an inconsistency in the way addresses are parsed and encoded with Python doing it correctly. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] Commented: (QPID-2725) Large quantities of documentation are duplicated
[ https://issues.apache.org/jira/browse/QPID-2725?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12923873#action_12923873 ] Jonathan Robie commented on QPID-2725: -- I've left some files here that I should remove, e.g. book.xml vs. Qpid-Book.xml. Most of the content here is simply a set of includes, with an introduction added. We have different ways of packaging the same includes. The Makefile uses only these top-level files: AMQP-Messaging-Broker-CPP-Book AMQP-Messaging-Broker-Java-Book Programming-In-Apache-Qpid This is because we have the ability to make 1 Book that includes all the documentation yet still make individual books. The problem is in the 1 Book scenario we need to use the part tag for content and in the individual books we need book The simple solution is to have the individual book include the part but we are not doing that Qpid-Book.xml contains everything in the individual books for the two brokers, plus an introductory section and appendices. Each of the brokers also has its own book. So Qpid-Book contains all of the contents of the other two books. Some of this other content never occurs in another book. In a book that describes just the C++ broker or just the Java broker, each has an introduction that explains that there are two implementations of the broker, and this particular book describes one of them. In the long run, the best solution would be to have the two brokers interop to the point that there are few differences, and one book could easily describe both of them, with a few sections that apply to just one or the other. It might make sense to reflect the docbook levels book, part, and section in our file names, that would make it easier to get an overview of how the files relate to the docbook structure. We currently have files at the book and section levels, but gloss over the fact that parts exist. Before doing any significant restructuring of the files, I'd like to have a clear direction on the structure we want for the documents per se going forward. Large quantities of documentation are duplicated - Key: QPID-2725 URL: https://issues.apache.org/jira/browse/QPID-2725 Project: Qpid Issue Type: Bug Reporter: Martin Ritchie Priority: Critical Fix For: 0.7 The way we generated documentation has led us to duplicate a large amount of contents which will be hard to maintain. This is because we have the ability to make 1 Book that includes all the documentation yet still make individual books. The problem is in the 1 Book scenario we need to use the part tag for content and in the individual books we need book The simple solution is to have the individual book include the part but we are not doing that, we are duplicating the code and in some cases we have an IDENTICAL file checked in twice: Qpid-Book.xml and Book.xml I'm looking at you. These individual books all have the same code as the files that don't have the -Book src/AMQP-Messaging-Broker-CPP-Book.xml src/Qpid-Compatibility-And-Interoperability-Book.xml src/AMQP-Messaging-Broker-Java-Book.xml They need updated to import the non -Book version or we will end up with in consistent documentation. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] Assigned: (QPID-2896) Incorrect detection of data types in address parameters - C++ client
[ https://issues.apache.org/jira/browse/QPID-2896?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jonathan Robie reassigned QPID-2896: Assignee: Jonathan Robie Incorrect detection of data types in address parameters - C++ client Key: QPID-2896 URL: https://issues.apache.org/jira/browse/QPID-2896 Project: Qpid Issue Type: Bug Components: C++ Client Affects Versions: 0.7 Reporter: Ted Ross Assignee: Jonathan Robie Priority: Critical Fix For: 0.7 Numeric values in address parameters are incorrectly interpreted as strings. The following address, run on the c++ client, causes the problem: my-queue;{create:always,node:{type:queue,x-declare:{arguments:{'qpid.max_count':60 Reproducer: $ drain my-queue;{create:always,node:{type:queue,x-declare:{arguments:{'qpid.max_count':60 $ qpid-config queues Queue Name Attributes == my-queue Failed: TypeError: %d format: a number is required, not str No only does qpid-config misinterpret the value of the 'qpid.max_count' field, but the broker does as well (i.e. the limit on the queue remains the default). Note that this works properly when using the Python API. It is an inconsistency in the way addresses are parsed and encoded with Python doing it correctly. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] Closed: (QPID-2348) [C++] The HeadersExchange does not support federation
[ https://issues.apache.org/jira/browse/QPID-2348?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jonathan Robie closed QPID-2348. Assignee: Jonathan Robie (was: Ted Ross) Added support for the XML Exchange in revision 1025780. [C++] The HeadersExchange does not support federation - Key: QPID-2348 URL: https://issues.apache.org/jira/browse/QPID-2348 Project: Qpid Issue Type: Improvement Components: C++ Broker Affects Versions: 0.6 Environment: all environments Reporter: Sam Joyce Assignee: Jonathan Robie Priority: Minor Fix For: 0.7 Attachments: fed_headers_exchange-2010-01-27.patch Original Estimate: 0h Remaining Estimate: 0h (from Ted Ross) Currently broker federation only deals with binding keys. Both dynamic and static federation do not support exchanges which use argument-map data in their bindings (i.e. XML, Headers, unknown future extension exchange). Support for static federation with arguments needs to be added. Support for dynamic federation that propagates bindings with arguments needs to be added. (from Sam Joyce) This bug actually breaks down into 4 separate tasks: 1) Allow the exchange to accept dynamic bindings 2) Allow the exchange to be used by the qpid-route tool to create dynamic routes 3) propagate bind and unbind requests to federated peers 4) support reOrigin requests in the event the things get into a bit of a flap (flap being a technical term :) ) -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] Commented: (QPID-2338) [C++ Broker] Ring queue does not properly implement byte size limits
[ https://issues.apache.org/jira/browse/QPID-2338?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12916884#action_12916884 ] Jonathan Robie commented on QPID-2338: -- Resolved in revision 1003531. [C++ Broker] Ring queue does not properly implement byte size limits Key: QPID-2338 URL: https://issues.apache.org/jira/browse/QPID-2338 Project: Qpid Issue Type: Bug Components: C++ Broker Affects Versions: 0.6 Reporter: Rob Godfrey Assignee: Gordon Sim Fix For: 0.7 To test I created a queue on the C++ broker with a size limit of 512 bytes, and a policy of ring First I sent 5 messages each of size 100 bytes. Then I sent a 6th 100 byte message - as expected this dequeued one of the existing messages next I sent a single message of size 400 bytes This caused only a single existing message to be dequeued, leading to 5 messages being enqueued with a total depth of 900 bytes (as reported by qpid-tool). At this point I would have expected all but one of the existing messages to have been dequeued in order to make room for the 400 byte message Finally I sent a single 1000 byte message. This message in itself should have been too big for the queue, however it was enqueued; and only one 100 byte message was dequeued - leaving a total byte depth of 1800 bytes being enqueued. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] Resolved: (QPID-2338) [C++ Broker] Ring queue does not properly implement byte size limits
[ https://issues.apache.org/jira/browse/QPID-2338?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jonathan Robie resolved QPID-2338. -- Assignee: Jonathan Robie (was: Gordon Sim) Fix Version/s: 0.7 Resolution: Fixed [C++ Broker] Ring queue does not properly implement byte size limits Key: QPID-2338 URL: https://issues.apache.org/jira/browse/QPID-2338 Project: Qpid Issue Type: Bug Components: C++ Broker Affects Versions: 0.6 Reporter: Rob Godfrey Assignee: Jonathan Robie Fix For: 0.7 To test I created a queue on the C++ broker with a size limit of 512 bytes, and a policy of ring First I sent 5 messages each of size 100 bytes. Then I sent a 6th 100 byte message - as expected this dequeued one of the existing messages next I sent a single message of size 400 bytes This caused only a single existing message to be dequeued, leading to 5 messages being enqueued with a total depth of 900 bytes (as reported by qpid-tool). At this point I would have expected all but one of the existing messages to have been dequeued in order to make room for the 400 byte message Finally I sent a single 1000 byte message. This message in itself should have been too big for the queue, however it was enqueued; and only one 100 byte message was dequeued - leaving a total byte depth of 1800 bytes being enqueued. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] Updated: (QPID-1909) Consumer with byte credit can get ignored if a large message eclipses a small one.
[ https://issues.apache.org/jira/browse/QPID-1909?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jonathan Robie updated QPID-1909: - Attachment: QPID-1909.patch Fixes the bug. Includes Alan's test. Consumer with byte credit can get ignored if a large message eclipses a small one. Key: QPID-1909 URL: https://issues.apache.org/jira/browse/QPID-1909 Project: Qpid Issue Type: Bug Components: C++ Broker Affects Versions: 0.5 Reporter: Alan Conway Assignee: Jonathan Robie Attachments: QPID-1909.patch Given: A consumer with byte credit N for a queue with messages Big size N and Small size N The consumer should not be able to consume Big. Now remove Big with a different consumer. The consumer should now be able to consume Small, but doesn't The problem in Queue.cpp is twofold: - if a consumer returns false from accept, it is assumed to be blocked and is removed from the listener set. It won't be notified of new messages - the queue only notifies when new messages arrive. It does not notify when a blocking message is removed. This is demonstrated by adding the following to test_credit_flow_bytes in message.py: # Check for bug that allowed a small message to be hidden by a larger one. session.message_transfer(message=Message(session.delivery_properties(routing_key=q), toobigtoobigtoobigtoobig)) session.message_transfer(message=Message(session.delivery_properties(routing_key=q), abcdefgh)) session.message_flow(unit = session.credit_unit.byte, value = msg_size, destination = c) try: q.get(timeout = 1) # Should fail, message is too big. self.fail(Expected Empty exception) except Empty: None # Create another consumer to remove the large message session.message_subscribe(queue = q, destination = c2) session.message_flow(unit = session.credit_unit.byte, value = 0xL, destination = c2) session.message_flow(unit = session.credit_unit.message, value = 1, destination = c2) self.assertDataEquals(session, session.incoming(c2).get(timeout=1), toobigtoobigtoobigtoobig) # Now the first consumer should be able to receive the smaller message. self.assertDataEquals(session, q.get(timeout = 1), abcdefgh) -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] Assigned: (QPID-1909) Consumer with byte credit can get ignored if a large message eclipses a small one.
[ https://issues.apache.org/jira/browse/QPID-1909?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jonathan Robie reassigned QPID-1909: Assignee: Jonathan Robie (was: Alan Conway) Consumer with byte credit can get ignored if a large message eclipses a small one. Key: QPID-1909 URL: https://issues.apache.org/jira/browse/QPID-1909 Project: Qpid Issue Type: Bug Components: C++ Broker Affects Versions: 0.5 Reporter: Alan Conway Assignee: Jonathan Robie Attachments: QPID-1909.patch Given: A consumer with byte credit N for a queue with messages Big size N and Small size N The consumer should not be able to consume Big. Now remove Big with a different consumer. The consumer should now be able to consume Small, but doesn't The problem in Queue.cpp is twofold: - if a consumer returns false from accept, it is assumed to be blocked and is removed from the listener set. It won't be notified of new messages - the queue only notifies when new messages arrive. It does not notify when a blocking message is removed. This is demonstrated by adding the following to test_credit_flow_bytes in message.py: # Check for bug that allowed a small message to be hidden by a larger one. session.message_transfer(message=Message(session.delivery_properties(routing_key=q), toobigtoobigtoobigtoobig)) session.message_transfer(message=Message(session.delivery_properties(routing_key=q), abcdefgh)) session.message_flow(unit = session.credit_unit.byte, value = msg_size, destination = c) try: q.get(timeout = 1) # Should fail, message is too big. self.fail(Expected Empty exception) except Empty: None # Create another consumer to remove the large message session.message_subscribe(queue = q, destination = c2) session.message_flow(unit = session.credit_unit.byte, value = 0xL, destination = c2) session.message_flow(unit = session.credit_unit.message, value = 1, destination = c2) self.assertDataEquals(session, session.incoming(c2).get(timeout=1), toobigtoobigtoobigtoobig) # Now the first consumer should be able to receive the smaller message. self.assertDataEquals(session, q.get(timeout = 1), abcdefgh) -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] Updated: (QPID-1909) Consumer with byte credit can get ignored if a large message eclipses a small one.
[ https://issues.apache.org/jira/browse/QPID-1909?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jonathan Robie updated QPID-1909: - Attachment: QPID-1909.patch Consumer with byte credit can get ignored if a large message eclipses a small one. Key: QPID-1909 URL: https://issues.apache.org/jira/browse/QPID-1909 Project: Qpid Issue Type: Bug Components: C++ Broker Affects Versions: 0.5 Reporter: Alan Conway Assignee: Jonathan Robie Attachments: QPID-1909.patch Given: A consumer with byte credit N for a queue with messages Big size N and Small size N The consumer should not be able to consume Big. Now remove Big with a different consumer. The consumer should now be able to consume Small, but doesn't The problem in Queue.cpp is twofold: - if a consumer returns false from accept, it is assumed to be blocked and is removed from the listener set. It won't be notified of new messages - the queue only notifies when new messages arrive. It does not notify when a blocking message is removed. This is demonstrated by adding the following to test_credit_flow_bytes in message.py: # Check for bug that allowed a small message to be hidden by a larger one. session.message_transfer(message=Message(session.delivery_properties(routing_key=q), toobigtoobigtoobigtoobig)) session.message_transfer(message=Message(session.delivery_properties(routing_key=q), abcdefgh)) session.message_flow(unit = session.credit_unit.byte, value = msg_size, destination = c) try: q.get(timeout = 1) # Should fail, message is too big. self.fail(Expected Empty exception) except Empty: None # Create another consumer to remove the large message session.message_subscribe(queue = q, destination = c2) session.message_flow(unit = session.credit_unit.byte, value = 0xL, destination = c2) session.message_flow(unit = session.credit_unit.message, value = 1, destination = c2) self.assertDataEquals(session, session.incoming(c2).get(timeout=1), toobigtoobigtoobigtoobig) # Now the first consumer should be able to receive the smaller message. self.assertDataEquals(session, q.get(timeout = 1), abcdefgh) -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] Updated: (QPID-1909) Consumer with byte credit can get ignored if a large message eclipses a small one.
[ https://issues.apache.org/jira/browse/QPID-1909?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jonathan Robie updated QPID-1909: - Attachment: (was: QPID-1909.patch) Consumer with byte credit can get ignored if a large message eclipses a small one. Key: QPID-1909 URL: https://issues.apache.org/jira/browse/QPID-1909 Project: Qpid Issue Type: Bug Components: C++ Broker Affects Versions: 0.5 Reporter: Alan Conway Assignee: Jonathan Robie Attachments: QPID-1909.patch Given: A consumer with byte credit N for a queue with messages Big size N and Small size N The consumer should not be able to consume Big. Now remove Big with a different consumer. The consumer should now be able to consume Small, but doesn't The problem in Queue.cpp is twofold: - if a consumer returns false from accept, it is assumed to be blocked and is removed from the listener set. It won't be notified of new messages - the queue only notifies when new messages arrive. It does not notify when a blocking message is removed. This is demonstrated by adding the following to test_credit_flow_bytes in message.py: # Check for bug that allowed a small message to be hidden by a larger one. session.message_transfer(message=Message(session.delivery_properties(routing_key=q), toobigtoobigtoobigtoobig)) session.message_transfer(message=Message(session.delivery_properties(routing_key=q), abcdefgh)) session.message_flow(unit = session.credit_unit.byte, value = msg_size, destination = c) try: q.get(timeout = 1) # Should fail, message is too big. self.fail(Expected Empty exception) except Empty: None # Create another consumer to remove the large message session.message_subscribe(queue = q, destination = c2) session.message_flow(unit = session.credit_unit.byte, value = 0xL, destination = c2) session.message_flow(unit = session.credit_unit.message, value = 1, destination = c2) self.assertDataEquals(session, session.incoming(c2).get(timeout=1), toobigtoobigtoobigtoobig) # Now the first consumer should be able to receive the smaller message. self.assertDataEquals(session, q.get(timeout = 1), abcdefgh) -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] Commented: (QPID-1909) Consumer with byte credit can get ignored if a large message eclipses a small one.
[ https://issues.apache.org/jira/browse/QPID-1909?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12898427#action_12898427 ] Jonathan Robie commented on QPID-1909: -- Cleaned up the patch. Replicating the pauper's list should be straightforward, testing to make sure it's replicated may be more difficult. Is there currently a test for that with listeners? Consumer with byte credit can get ignored if a large message eclipses a small one. Key: QPID-1909 URL: https://issues.apache.org/jira/browse/QPID-1909 Project: Qpid Issue Type: Bug Components: C++ Broker Affects Versions: 0.5 Reporter: Alan Conway Assignee: Jonathan Robie Attachments: QPID-1909.patch Given: A consumer with byte credit N for a queue with messages Big size N and Small size N The consumer should not be able to consume Big. Now remove Big with a different consumer. The consumer should now be able to consume Small, but doesn't The problem in Queue.cpp is twofold: - if a consumer returns false from accept, it is assumed to be blocked and is removed from the listener set. It won't be notified of new messages - the queue only notifies when new messages arrive. It does not notify when a blocking message is removed. This is demonstrated by adding the following to test_credit_flow_bytes in message.py: # Check for bug that allowed a small message to be hidden by a larger one. session.message_transfer(message=Message(session.delivery_properties(routing_key=q), toobigtoobigtoobigtoobig)) session.message_transfer(message=Message(session.delivery_properties(routing_key=q), abcdefgh)) session.message_flow(unit = session.credit_unit.byte, value = msg_size, destination = c) try: q.get(timeout = 1) # Should fail, message is too big. self.fail(Expected Empty exception) except Empty: None # Create another consumer to remove the large message session.message_subscribe(queue = q, destination = c2) session.message_flow(unit = session.credit_unit.byte, value = 0xL, destination = c2) session.message_flow(unit = session.credit_unit.message, value = 1, destination = c2) self.assertDataEquals(session, session.incoming(c2).get(timeout=1), toobigtoobigtoobigtoobig) # Now the first consumer should be able to receive the smaller message. self.assertDataEquals(session, q.get(timeout = 1), abcdefgh) -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] Commented: (QPID-1909) Consumer with byte credit can get ignored if a large message eclipses a small one.
[ https://issues.apache.org/jira/browse/QPID-1909?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12893681#action_12893681 ] Jonathan Robie commented on QPID-1909: -- Queue::consumeNextMessage() returns either CONSUME or CANT_CONSUME, it does not distinguish can't consume because I have no credit and can't read until I get more credit from can't consume because I don't have enough credit for this particular message, but might be able to read a different message. The obvious fix for this bug would be to distinguish these two cases, and keep the consumer on the listener list if it has some credit, but not enough for a given message. But that fix has a problem: suppose a consumer has 1 byte credit, it remains on the listener list, and must be considered for incoming messages, but it will never receive a message, it just slows down the search for a consumer for a given message. And it's likely that many consumers would reach that state. Another possible solution: require a minimum level of credit, and kick out consumers that do not have that much credit. But there's no obvious way to determine a reasonable minimum credit. Another possible solution: use a data structure that makes it possible to select a consumer that has at least N bytes of credit. This would necessarily be slower than just picking the next available consumer, and would require a more complex data structure. None of these possible solutions thrill me. Is there a better one? Consumer with byte credit can get ignored if a large message eclipses a small one. Key: QPID-1909 URL: https://issues.apache.org/jira/browse/QPID-1909 Project: Qpid Issue Type: Bug Components: C++ Broker Affects Versions: 0.5 Reporter: Alan Conway Assignee: Alan Conway Given: A consumer with byte credit N for a queue with messages Big size N and Small size N The consumer should not be able to consume Big. Now remove Big with a different consumer. The consumer should now be able to consume Small, but doesn't The problem in Queue.cpp is twofold: - if a consumer returns false from accept, it is assumed to be blocked and is removed from the listener set. It won't be notified of new messages - the queue only notifies when new messages arrive. It does not notify when a blocking message is removed. This is demonstrated by adding the following to test_credit_flow_bytes in message.py: # Check for bug that allowed a small message to be hidden by a larger one. session.message_transfer(message=Message(session.delivery_properties(routing_key=q), toobigtoobigtoobigtoobig)) session.message_transfer(message=Message(session.delivery_properties(routing_key=q), abcdefgh)) session.message_flow(unit = session.credit_unit.byte, value = msg_size, destination = c) try: q.get(timeout = 1) # Should fail, message is too big. self.fail(Expected Empty exception) except Empty: None # Create another consumer to remove the large message session.message_subscribe(queue = q, destination = c2) session.message_flow(unit = session.credit_unit.byte, value = 0xL, destination = c2) session.message_flow(unit = session.credit_unit.message, value = 1, destination = c2) self.assertDataEquals(session, session.incoming(c2).get(timeout=1), toobigtoobigtoobigtoobig) # Now the first consumer should be able to receive the smaller message. self.assertDataEquals(session, q.get(timeout = 1), abcdefgh) -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] Commented: (QPID-1909) Consumer with byte credit can get ignored if a large message eclipses a small one.
[ https://issues.apache.org/jira/browse/QPID-1909?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12893697#action_12893697 ] Jonathan Robie commented on QPID-1909: -- I'm considering using the obvious fix from the previous comment. Consumers will eventually ack, raising their credit again, fragmentation is likely to be an issue only temporarily. Consumer with byte credit can get ignored if a large message eclipses a small one. Key: QPID-1909 URL: https://issues.apache.org/jira/browse/QPID-1909 Project: Qpid Issue Type: Bug Components: C++ Broker Affects Versions: 0.5 Reporter: Alan Conway Assignee: Alan Conway Given: A consumer with byte credit N for a queue with messages Big size N and Small size N The consumer should not be able to consume Big. Now remove Big with a different consumer. The consumer should now be able to consume Small, but doesn't The problem in Queue.cpp is twofold: - if a consumer returns false from accept, it is assumed to be blocked and is removed from the listener set. It won't be notified of new messages - the queue only notifies when new messages arrive. It does not notify when a blocking message is removed. This is demonstrated by adding the following to test_credit_flow_bytes in message.py: # Check for bug that allowed a small message to be hidden by a larger one. session.message_transfer(message=Message(session.delivery_properties(routing_key=q), toobigtoobigtoobigtoobig)) session.message_transfer(message=Message(session.delivery_properties(routing_key=q), abcdefgh)) session.message_flow(unit = session.credit_unit.byte, value = msg_size, destination = c) try: q.get(timeout = 1) # Should fail, message is too big. self.fail(Expected Empty exception) except Empty: None # Create another consumer to remove the large message session.message_subscribe(queue = q, destination = c2) session.message_flow(unit = session.credit_unit.byte, value = 0xL, destination = c2) session.message_flow(unit = session.credit_unit.message, value = 1, destination = c2) self.assertDataEquals(session, session.incoming(c2).get(timeout=1), toobigtoobigtoobigtoobig) # Now the first consumer should be able to receive the smaller message. self.assertDataEquals(session, q.get(timeout = 1), abcdefgh) -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] Commented: (QPID-2692) QPID/QMF website is full of broken links and unusable.
[ https://issues.apache.org/jira/browse/QPID-2692?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12882286#action_12882286 ] Jonathan Robie commented on QPID-2692: -- There were two problems here. 1. The confluence pages from the Wiki were not present in archives/wiki. I was not the person who set that part up initially, I am not sure if it was copied over correctly but then messed up due to an interaction between svnpubsub and rsync. For now, all Wiki links now point to the CWiki site instead. 2. The C++ Messaging Broker Guide was broken in the PDF - the HTML is fine. I don't think the other PDFs had this problem. Should be fixed now. You can see it here: http://qpid.apache.org/books/0.7/AMQP-Messaging-Broker-CPP-Book/pdf/AMQP-Messaging-Broker-CPP-Book.pdf Hope this helps! QPID/QMF website is full of broken links and unusable. -- Key: QPID-2692 URL: https://issues.apache.org/jira/browse/QPID-2692 Project: Qpid Issue Type: Improvement Components: website Reporter: Darryl L. Pierce Just about every link that should take the user to a page of information, such as schema mappings, is a broken link. Trying to view the PDFs as an alternate form of documentation shows that the PDFs are useless, only containing: xi:include/xi:include xi:include/xi:include xi:include/xi:include xi:include/xi:include xi:include/xi:include xi:include/xi:include xi:include/xi:include xi:include/xi:include xi:include/xi:include -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] Created: (QPID-2494) Node assertions don't work for node-property types ( topic, queue )
Node assertions don't work for node-property types ( topic, queue ) Key: QPID-2494 URL: https://issues.apache.org/jira/browse/QPID-2494 Project: Qpid Issue Type: Bug Components: C++ Client Reporter: Jonathan Robie Asserting the wrong node property type seems to have no effect on address resolution in the drain example: $ ./drain -a amq.direct/foo; { assert: always, node-properties: { type: topic }} $ ./drain -a amq.direct/foo; { assert: always, node-properties: { type: queue }} $ ./drain -a amq.fanout; { assert: always, node-properties: { type: queue }} $ ./drain -a amq.fanout; { assert: always, node-properties: { type: topic }} The program seems to actually resolve the address, and can receive messages, even if the assertion does not match, and this is not limited to pre-declared exchanges: $ ./drain -a fanout-exchange; { assert: always, node-properties: { type: queue }} -t 30 Message(properties={spout-id:1f32f14f-8cff-4a51-8bed-bac7fe84f00e:0}, content='') It doesn't work for assertions on queues, either: $ ./drain -a xoxox; { assert: always, node-properties: { type: topic }} -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] Commented: (QPID-2358) SVN conflict
[ https://issues.apache.org/jira/browse/QPID-2358?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12804295#action_12804295 ] Jonathan Robie commented on QPID-2358: -- First off, thanks for pointing this out - ouch! I deleted some files that may have been causing this difficulty. I do not experience the same issue on my box, so it's hard for me to be sure that I've fixed it - can you let me know if you still have the problem? SVN conflict Key: QPID-2358 URL: https://issues.apache.org/jira/browse/QPID-2358 Project: Qpid Issue Type: Bug Components: Documentation Environment: PowerBook G4 - Mac OS X Leopard svn, version 1.4.4 (r25188) compiled Sep 28 2009, 16:25:45 Reporter: Bruno Matos Assignee: Jonathan Robie Original Estimate: 0.08h Remaining Estimate: 0.08h Subversion checkout has a conflict with the files: http://svn.apache.org/repos/asf/qpid/trunk/qpid/doc/book/src/AMQP Compatibility.xml and http://svn.apache.org/repos/asf/qpid/trunk/qpid/doc/book/src/AMQP compatibility.xml. Could you please see that? Thank you! Regards. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] Updated: (QPID-2241) Web site logo - make feather align with Apache logo
[ https://issues.apache.org/jira/browse/QPID-2241?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jonathan Robie updated QPID-2241: - Attachment: header3.png Web site logo - make feather align with Apache logo --- Key: QPID-2241 URL: https://issues.apache.org/jira/browse/QPID-2241 Project: Qpid Issue Type: Improvement Reporter: Jonathan Robie Attachments: header3.png I think the feather on the Qpid logo should align with the Apache logo. Here's an attempt to make it do so. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] Created: (QPID-2241) Web site logo - make feather align with Apache logo
Web site logo - make feather align with Apache logo --- Key: QPID-2241 URL: https://issues.apache.org/jira/browse/QPID-2241 Project: Qpid Issue Type: Improvement Reporter: Jonathan Robie Attachments: header3.png I think the feather on the Qpid logo should align with the Apache logo. Here's an attempt to make it do so. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] Updated: (QPID-53) Create Project Logo
[ https://issues.apache.org/jira/browse/QPID-53?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Jonathan Robie updated QPID-53: --- Attachment: qpid-logo.png Aligns Apache feather with the Apache logo Create Project Logo --- Key: QPID-53 URL: https://issues.apache.org/jira/browse/QPID-53 Project: Qpid Issue Type: Task Reporter: Debbie Moynihan Priority: Minor Attachments: MoreAMQPLogos.pdf, qpid-logo.jpg, qpid-logo.png, qpid_logo_medium.png, qpid_logo_medium2.png, qpid_logo_medium3.png, qpid_logo_medium4.png, qpid_logo_small.png, qpid_logo_small2.png, qpid_logo_small3.png, qpid_logo_small4.png, qpid_logo_test10.png, qpid_logo_test11.png, qpid_logo_test12.png, qpid_logo_test13.png, qpid_logo_test5.png, qpid_logo_test6.png, qpid_logo_test7.png, qpid_logo_test8.png, qpid_logo_test9.png, qpid_logo_test9_resized.png, qpid_logo_test9_resized_padded.png, qpidLogo.png, QpidLOGOS1023.pdf Create a logo for the project. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] Created: (QPID-2139) Usability of log messages
Usability of log messages - Key: QPID-2139 URL: https://issues.apache.org/jira/browse/QPID-2139 Project: Qpid Issue Type: Improvement Components: C++ Broker Reporter: Jonathan Robie Fix For: 0.6 Our broker log messages are currently ad-hoc, difficult to grep or read, with a bad signal/noise ratio. They could be improved as follows: - Define log-level usage guidelines, document, and enforce - Define user-relevant categories for logging, document, and enforce - Design messages to be easily greppable - Avoid logging redundant information. Log entry into a state / exit from a state, instead of redundant entries saying what state you are in. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] Created: (QPID-2140) need similar mechanisms for logging in all clients/brokers
need similar mechanisms for logging in all clients/brokers -- Key: QPID-2140 URL: https://issues.apache.org/jira/browse/QPID-2140 Project: Qpid Issue Type: Improvement Components: C++ Broker, C++ Client, Dot Net Client, Java Client, Python Client, Ruby Client Reporter: Jonathan Robie Fix For: 0.6 We need to have similar mechanisms for logging and enabling logging for the broker and all clients. This should include the ability to enable logging without modifying client code, e.g. by using environment variables as we do on the C++ client. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] Created: (QPID-2141) need consistent naming for broker entities
need consistent naming for broker entities -- Key: QPID-2141 URL: https://issues.apache.org/jira/browse/QPID-2141 Project: Qpid Issue Type: Improvement Components: C++ Broker Reporter: Jonathan Robie Fix For: 0.6 We need consistent naming for broker entity identities. One reason this is important: the ability to name entities in log messages / management tools. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] Created: (QPID-2142) Need wireshark plugin
Need wireshark plugin - Key: QPID-2142 URL: https://issues.apache.org/jira/browse/QPID-2142 Project: Qpid Issue Type: New Feature Reporter: Jonathan Robie We need a wireshark plugin for AMQP 0-10. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] Created: (QPID-2143) Need clear broker is ready message
Need clear broker is ready message Key: QPID-2143 URL: https://issues.apache.org/jira/browse/QPID-2143 Project: Qpid Issue Type: Improvement Components: C++ Broker Reporter: Jonathan Robie The broker needs to place a broker is ready message in the log on startup, for diagnostic purposes. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] Created: (QPID-2144) Need consistent design / rationalized features across Python tools
Need consistent design / rationalized features across Python tools -- Key: QPID-2144 URL: https://issues.apache.org/jira/browse/QPID-2144 Project: Qpid Issue Type: Improvement Components: python tools Reporter: Jonathan Robie Fix For: 0.6 The Python tools need to use similar design, and we need to consider how functionality is distributed among the tools, so we have a rational set of tools. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] Created: (QPID-2145) Need exit immediately flag for broker
Need exit immediately flag for broker --- Key: QPID-2145 URL: https://issues.apache.org/jira/browse/QPID-2145 Project: Qpid Issue Type: New Feature Components: C++ Broker Reporter: Jonathan Robie We need an exit immediately flag for the broker. When set, the broker runs until it reaches broker ready state, then exits. This has two purposes: 1. with trace enabled, can be used to identify any issue that would prevent a runner from running 2. ensures that command line and configuration parameters are OK -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] Created: (QPID-2146) Cluster must verify compatibility of options when a node attempts to join the cluster
Cluster must verify compatibility of options when a node attempts to join the cluster - Key: QPID-2146 URL: https://issues.apache.org/jira/browse/QPID-2146 Project: Qpid Issue Type: Bug Components: C++ Broker Reporter: Jonathan Robie The cluster must verify that all broker options are compatible before allowing a new broker to join the cluster. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] Commented: (QPID-1766) Implemention of selector using Xquery
[ https://issues.apache.org/jira/browse/QPID-1766?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12718947#action_12718947 ] Jonathan Robie commented on QPID-1766: -- On RHEL5, I am getting two errors with $ make check, they do not occur with a pristine trunk checkout. I haven't investigated yet, but the output indicates that both are timeout errors related to queues: == ERROR: test_release_ordering (tests_0-10.message.MessageTests) -- Traceback (most recent call last): File /home/jrobie/qpid/qpid/python/tests_0-10/message.py, line 636, in test_release_ordering self.assertEquals(released message %s % (i), queue.get(timeout = 1).body) File /home/jrobie/qpid/qpid/python/qpid/queue.py, line 50, in get result = BaseQueue.get(self, block, timeout) File /usr/lib64/python2.4/Queue.py, line 127, in get raise Empty Empty == ERROR: test_rollback (tests_0-10.tx.TxTests) -- Traceback (most recent call last): File /home/jrobie/qpid/qpid/python/tests_0-10/tx.py, line 157, in test_rollback msg = queue_a.get(timeout=1) File /home/jrobie/qpid/qpid/python/qpid/queue.py, line 50, in get result = BaseQueue.get(self, block, timeout) File /usr/lib64/python2.4/Queue.py, line 127, in get raise Empty Empty Implemention of selector using Xquery - Key: QPID-1766 URL: https://issues.apache.org/jira/browse/QPID-1766 Project: Qpid Issue Type: Improvement Components: C++ Broker, C++ Client Environment: Linux Reporter: chenta lee Attachments: chenta.diff, Makefile.patch, Makefile.patch, message_selector_pytest.patch, selector.diff, selector.diff, selector.patch, selector.patch, selector_broker.patch, selector_client.patch, selector_client.patch, selector_example.zip I implemented the message selector for C++ broker and client using Xquery. I will attach an example later. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org
[jira] Commented: (QPID-1051) The C++ examples contain some typos and other mistakes that will confuse users. These are usability errors
[ https://issues.apache.org/jira/browse/QPID-1051?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12660761#action_12660761 ] Jonathan Robie commented on QPID-1051: -- I believe all issues are now addressed in the current examples. The C++ examples contain some typos and other mistakes that will confuse users. These are usability errors -- Key: QPID-1051 URL: https://issues.apache.org/jira/browse/QPID-1051 Project: Qpid Issue Type: Bug Components: C++ Client Affects Versions: M3, M4 Environment: n/a but Fedora 8 on a Thinkpad T61 Reporter: William Henry Assignee: Alan Conway Priority: Minor Fix For: M4 Attachments: diff_direct_declare_queues, diff_direct_listener, diff_fanout_listener, diff_fanout_producer, diff_pubsub_topic_listener, diff_pubsub_topic_publisher, diff_req-resp_server There are a few residual usability errors that seem to be the result of copying examples over and not cleaning up. None of these bugs stop the code from compiling or running but would cause usability problems for new users that are looking at the examples as templates on how to use qpid. E.g. Several files declare unused Message instances: Message message; Some files headers contain erroneous information. Either mentioning non-existent files or using incorrect names. I will attach some diff files that show the bugs in the code. request_response/server.cpp - declares a Message instance called message but doesn't use it. pub-sub/topic_listener.cpp = mentions topic_config_queues.cpp in the header but there is no such file. pub-sub/topic_publisher.cpp = mentions topic_config_queues.cpp in the header but there is no such file. Message is declared and unused. fanout/listener.cpp - minor typo 'fro' for 'from' in header and Message declared and unused fanout/producer.cpp - declare_queues.cpp mentioned in header and Message declared twice. One in try block is used. direct/declare_queues.cpp - named incorrectly as define_config_queues.cpp in header. Message declared and unused direct/lisener.cpp- minor typo 'fro' for 'from' in header . Message declared and unused -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.