The following error was shown in the broker side error Failed to prepare: Enqueue capacity threshold exceeded on queue "testQueueD". (JournalImpl.cpp:478) However on the client side the error text was not helpful. Can we include the error msg show on the broker side in the description field in the error message sent to the client? This will greatly help in debugging for a customer. Error when running test [id=1 ExecutionException(errorCode=INTERNAL_ERROR, commandId=69092, classCode=5, commandCode=2, fieldIndex=0, description=internal-error: Commit failed (qpid/broker/SemanticState.cpp:126), errorInfo={})] org.apache.qpidity.transport.SessionException: [id=1 ExecutionException(errorCode=INTERNAL_ERROR, commandId=69092, classCode=5, commandCode=2, fieldIndex=0, description=internal-error: Commit failed (qpid/broker/SemanticState.cpp:126), errorInfo={})]
*** Bug 481776 has been marked as a duplicate of this bug. ***
This is not related to Bug 481776. This was fixed by a commit made by rhs in rev 749740 of the Qpid trunk. The real underlying issue was that the JMS client was ignoring any execution exception it received and remained in DETACHED state. The fix made the client go into CLOSED instead of DETACHED state when there is an execution exception.
Tested: on qpid-java-client-0.4.741135-1.el5 bug appears on qpid-java-client-0.7.918215-1.el5 does not. It has been fixed, error is thrown validated on RHEL 5.5 x86_64 only because of lack of those old packages for other systems/archs packages: # rpm -qa | grep -E '(qpid|openais|rhm)' | sort -u openais-0.80.6-16.el5 openais-debuginfo-0.80.6-16.el5 python-qpid-0.7.917557-4.el5 qpid-cpp-client-0.7.916826-2.el5 qpid-cpp-client-devel-0.7.916826-2.el5 qpid-cpp-client-devel-docs-0.7.916826-2.el5 qpid-cpp-client-ssl-0.7.916826-2.el5 qpid-cpp-mrg-debuginfo-0.7.916826-2.el5 qpid-cpp-server-0.7.916826-2.el5 qpid-cpp-server-cluster-0.7.916826-2.el5 qpid-cpp-server-devel-0.7.916826-2.el5 qpid-cpp-server-ssl-0.7.916826-2.el5 qpid-cpp-server-store-0.7.916826-2.el5 qpid-cpp-server-xml-0.7.916826-2.el5 qpid-dotnet-0.4.738274-2.el5 qpid-java-client-0.7.918215-1.el5 qpid-java-common-0.7.918215-1.el5 qpid-tests-0.7.917717-4.el5 qpid-tools-0.7.917557-4.el5 ->VERIFIED
To make it clear I reproduced on RHEL 5.5 x86_64 only but validated on 5.5 i386 / x86_64 and RHEL 4.8 i386 / x86_64
Technical note added. If any revisions are required, please edit the "Technical Notes" field accordingly. All revisions will be proofread by the Engineering Content Services team. New Contents: Cause: A transaction commit fails without a proper error message when a queue runs out of capacity Consequence: The correct error message was not displayed on the client side, hence it was difficult to determine the exact cause without looking at the broker log. Fix: The client now goes into CLOSED instead of DETACHED state when there is an execution exception. Result: The client now prints/notifies the correct exception when a transaction commit fails due the queue capacity being exceeded.
Technical note updated. If any revisions are required, please edit the "Technical Notes" field accordingly. All revisions will be proofread by the Engineering Content Services team. Diffed Contents: @@ -1,8 +1 @@ -Cause: A transaction commit fails without a proper error message when a queue runs out of capacity +A transaction commit failed without a proper error message when a queue ran out of capacity. The correct error message was not displayed on the client side, hence it was difficult to determine the exact cause without looking at the broker log. With this update, the client now goes into the CLOSED state instead of the DETACHED state when there is an execution exception and prints/notifies the correct exception when a transaction commit fails due the queue capacity being exceeded.- -Consequence: The correct error message was not displayed on the client side, hence it was difficult to determine the exact cause without looking at the broker log. - -Fix: The client now goes into CLOSED instead of DETACHED state when there is an execution exception. - - -Result: The client now prints/notifies the correct exception when a transaction commit fails due the queue capacity being exceeded.
An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on therefore solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHSA-2010-0773.html