Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 455318

Summary: A tx commit fails without a proper error message when a queue runs out of capacity
Product: Red Hat Enterprise MRG Reporter: Rajith Attapattu <rattapat+nobody>
Component: qpid-javaAssignee: Rajith Attapattu <rattapat+nobody>
Status: CLOSED ERRATA QA Contact: Jiri Kolar <jkolar>
Severity: medium Docs Contact:
Priority: medium    
Version: 1.1CC: cctrieloff, gsim, jkolar, mgoulish
Target Milestone: 1.3   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
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.
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-10-14 16:14:57 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Rajith Attapattu 2008-07-14 19:49:35 UTC
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={})]

Comment 1 Gordon Sim 2009-02-17 17:22:42 UTC
*** Bug 481776 has been marked as a duplicate of this bug. ***

Comment 2 Rajith Attapattu 2009-05-04 23:03:50 UTC
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.

Comment 5 Jiri Kolar 2010-04-07 13:32:38 UTC
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

Comment 6 Jiri Kolar 2010-04-13 15:53:08 UTC
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

Comment 7 Rajith Attapattu 2010-10-07 18:18:19 UTC
    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.

Comment 8 Martin Prpič 2010-10-10 11:29:14 UTC
    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.

Comment 10 errata-xmlrpc 2010-10-14 16:14:57 UTC
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