[jira] Resolved: (QPID-2768) Address with '/' after name but no subject results in parsing error
[ https://issues.apache.org/jira/browse/QPID-2768?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Gordon Sim resolved QPID-2768. -- Resolution: Fixed Address with '/' after name but no subject results in parsing error --- Key: QPID-2768 URL: https://issues.apache.org/jira/browse/QPID-2768 Project: Qpid Issue Type: Bug Components: C++ Client Affects Versions: 0.6 Reporter: Gordon Sim Assignee: Gordon Sim Priority: Minor e.g. $ spout 'exchange/' Expected subject after /, character 9 of exchange/ Should instead simply treat this as implying no subject (i.e. being equivalent to 'exchange') -- 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-2775) Increase the timeout interval for FirewallConfigTest
Increase the timeout interval for FirewallConfigTest Key: QPID-2775 URL: https://issues.apache.org/jira/browse/QPID-2775 Project: Qpid Issue Type: Improvement Components: Java Tests Affects Versions: 0.7 Reporter: Sorin Suciu Fix For: 0.7 Sometimes this test fails when ran on slow machines. Therefore it would help to increase the timeout. -- 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-2775) Increase the timeout interval for FirewallConfigTest
[ https://issues.apache.org/jira/browse/QPID-2775?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Sorin Suciu updated QPID-2775: -- Attachment: qpid-2775.patch Increase the timeout interval for FirewallConfigTest Key: QPID-2775 URL: https://issues.apache.org/jira/browse/QPID-2775 Project: Qpid Issue Type: Improvement Components: Java Tests Affects Versions: 0.7 Reporter: Sorin Suciu Fix For: 0.7 Attachments: qpid-2775.patch Sometimes this test fails when ran on slow machines. Therefore it would help to increase the timeout. -- 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-2761) Add tests 4 and 5 to the .NET client (0.8)
[ https://issues.apache.org/jira/browse/QPID-2761?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Robbie Gemmell updated QPID-2761: - Fix Version/s: 0.7 (was: 0.6) Add tests 4 and 5 to the .NET client (0.8) -- Key: QPID-2761 URL: https://issues.apache.org/jira/browse/QPID-2761 Project: Qpid Issue Type: Improvement Components: Dot Net Client Affects Versions: 0.6 Reporter: Sorin Suciu Assignee: Robbie Gemmell Priority: Minor Fix For: 0.7 Attachments: qpid-2761.patch The dotnet client of the interop test suite is currently missing tests 4 and 5: - Test 4: P2P Test with Different Message Sizes - Test 5: Pub/Sub Test with Different Message Sizes This causes the dotnet interop client to opt out from the tests and the results are difficult to interpret. -- 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-2761) Add tests 4 and 5 to the .NET client (0.8)
[ https://issues.apache.org/jira/browse/QPID-2761?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Robbie Gemmell reassigned QPID-2761: Assignee: Robbie Gemmell Add tests 4 and 5 to the .NET client (0.8) -- Key: QPID-2761 URL: https://issues.apache.org/jira/browse/QPID-2761 Project: Qpid Issue Type: Improvement Components: Dot Net Client Affects Versions: 0.6 Reporter: Sorin Suciu Assignee: Robbie Gemmell Priority: Minor Fix For: 0.7 Attachments: qpid-2761.patch The dotnet client of the interop test suite is currently missing tests 4 and 5: - Test 4: P2P Test with Different Message Sizes - Test 5: Pub/Sub Test with Different Message Sizes This causes the dotnet interop client to opt out from the tests and the results are difficult to interpret. -- 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-2761) Add tests 4 and 5 to the .NET client (0.8)
[ https://issues.apache.org/jira/browse/QPID-2761?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Robbie Gemmell resolved QPID-2761. -- Resolution: Fixed Patch applied Add tests 4 and 5 to the .NET client (0.8) -- Key: QPID-2761 URL: https://issues.apache.org/jira/browse/QPID-2761 Project: Qpid Issue Type: Improvement Components: Dot Net Client Affects Versions: 0.6 Reporter: Sorin Suciu Assignee: Robbie Gemmell Priority: Minor Fix For: 0.7 Attachments: qpid-2761.patch The dotnet client of the interop test suite is currently missing tests 4 and 5: - Test 4: P2P Test with Different Message Sizes - Test 5: Pub/Sub Test with Different Message Sizes This causes the dotnet interop client to opt out from the tests and the results are difficult to interpret. -- 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-2776) refactor AMQMessageDelegate(0_8 / 0_10) to rationalise duplicated message property functionality
refactor AMQMessageDelegate(0_8 / 0_10) to rationalise duplicated message property functionality - Key: QPID-2776 URL: https://issues.apache.org/jira/browse/QPID-2776 Project: Qpid Issue Type: Improvement Components: Java Client Affects Versions: 0.6, 0.5, M4 Reporter: Robbie Gemmell Fix For: 0.7 AMQMessageDelegate_0_10 and AMQMessageDelegate_0_8 both implement their own property handling. Whilst the underlying data structures are indeed different between the two implementations, there is no need for much of the message property functionality to be duplicated as well like it currently is. This should be refactored such that where appropriate the functionality is provided by the abstract superclass. This will help resolve differences between using the client on varying protocol versions, such as would occur due to the defects shown in QPID-2766 and QPID-2770. -- 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-2765) WinSdk does not .NET Binding examples
[ https://issues.apache.org/jira/browse/QPID-2765?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Chuck Rolke updated QPID-2765: -- Attachment: qpid_cpp_winsdk-update-3.patch Same as -2.patch with reality-hardened Readme text. Rooted at qpid\cpp this patch addresses the following: 1. bld-winsdk.ps1 script builds .NET Binding and includes .NET examples in winsdk output. 2. Improved dotnet\ReadMe describes building .NET Binding interactively. 3. Improved README-winsdk describes using .NET Binding examples and adds DOS line endings. 4. A cloned solution and two cloned project files are added to a \bld directory. These files work correctly when called from the bld-winsdk.ps1 procedure. [ Show ยป ] Chuck Rolke added a comment - 28/Jul/10 10:44 AM Rooted at qpid\cpp this patch addresses the following: 1. bld-winsdk.ps1 script builds .NET Binding and includes .NET examples in winsdk output. 2. Improved dotnet\ReadMe describes building .NET Binding interactively. 3. Improved README-winsdk describes using .NET Binding examples and adds DOS line endings. 4. A cloned solution and two cloned project files are added to a \bld directory. These files work correctly when called from the bld-winsdk.ps1 procedure. WinSdk does not .NET Binding examples - Key: QPID-2765 URL: https://issues.apache.org/jira/browse/QPID-2765 Project: Qpid Issue Type: Improvement Reporter: Chuck Rolke Attachments: qpid_cpp_winsdk-update-2.patch, qpid_cpp_winsdk-update-3.patch The Windows SDK does not have the .NET Binding examples. The ReadMe does not have hints on how to use the Binding. -- 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] Created: (QPID-2777) Additional bindings for the C++ messaging API (Python, Ruby)
Additional bindings for the C++ messaging API (Python, Ruby) Key: QPID-2777 URL: https://issues.apache.org/jira/browse/QPID-2777 Project: Qpid Issue Type: New Feature Components: C++ Client, Python Client, Ruby Client Reporter: Ted Ross Assignee: Ted Ross Fix For: 0.7 As part of the work I was doing on the wrapped QMF API, I needed to provide wrappers in Python and Ruby for a portion of the C++ messaging API (in the qpid::messaging namespace). Rather than provide a partial binding to the API, this contribution is a complete set of swig-generated bindings for the messaging API (both qpid::messaging and qpid::types) in Python and Ruby. To extend this set of bindings to include Perl, PHP, and other languages is a relatively small amount of incremental work. -- 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
AMQP Session header question
I'm updating the Wireshark AMQP dissector to understand AMQP 0-10 and using Qpid C++ as the test for it. I am confused about one section of the spec and would like some clarification please. The Session class has a session.header domain that says: The session header appears on commands after the class and command id, but prior to command arguments. It's a 1-byte header. The session.header domain isn't mentioned anywhere else I can find, and it doesn't appear in Qpid-originated Session assemblies. If I ignore that statement that the header appears after the class/command and before the arguments, the assemblies dissect ok. Can someone interpret what that part of the spec is saying? Thanks, -Steve - Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org