Description of problem: When an queue policy exceeded situation occurs (for instance in RHTS test qpid_java_exceptions_bz459130). The session exception is thrown. This is OK, but explanation should point out that a queue policy was exceeded in the exception details. It is not the case at the moment. Version-Release number of selected component (if applicable): qpidc-perftest-0.3.722122-2.el5 qpidd-0.3.722122-2.el5 python-qpid-0.3.719419-2.el5 qpidc-rdma-0.3.722122-2.el5 qpidd-xml-0.3.722122-2.el5 qpidc-ssl-0.3.722122-2.el5 qpidd-rdma-0.3.722122-2.el5 qpidc-devel-0.3.722122-2.el5 qpidd-ssl-0.3.722122-2.el5 qpidc-0.3.722122-2.el5 qpidd-acl-0.3.722122-2.el5 qpid-java-client-0.3.712662-1.el5 qpidd-devel-0.3.722122-2.el5 qpid-java-common-0.3.712662-1.el5 qpidd-cluster-0.3.722122-2.el5 How reproducible: 100% Steps to Reproduce: 1. run RHTS test qpid_java_exceptions_bz459130 2. check out the log (qpid_java_exceptions_bz459130.log) Actual results: CLASSPATH=/home/freznice/prjs/rhts_tests/tests/distribution/MRG_Messaging/qpid_java_exceptions_bz459130/qpid/java/build/lib/qpid-incubating.jar java -server -DPNAME=QPBRKR -Xmx1024m -Damqj.logging.level=info -DQPID_HOME=/home/freznice/prjs/rhts_tests/tests/distribution/MRG_Messaging/qpid_java_exceptions_bz459130/qpid/java/build -DQPID_WORK=/root org.apache.qpid.tools.QpidBench --mode publish broker = localhost ... help = false NP: Thu Nov 27 13:43:11 CET 2008 Exception in thread "Thread-2" java.lang.RuntimeException: org.apache.qpid.transport.SessionClosedException: session closed at org.apache.qpid.tools.QpidBench$2.run(QpidBench.java:460) Caused by: org.apache.qpid.transport.SessionClosedException: session closed at org.apache.qpid.transport.Session.invoke(Session.java:425) at org.apache.qpid.transport.SessionInvoker.messageTransfer(SessionInvoker.java:75) at org.apache.qpid.tools.QpidBench.native_publisher(QpidBench.java:765) at org.apache.qpid.tools.QpidBench.access$500(QpidBench.java:45) at org.apache.qpid.tools.QpidBench$2.run(QpidBench.java:455) Expected results: (something like this) Exception in thread "Thread-2" java.lang.RuntimeException: org.apache.qpid.transport.SessionException: [ch=0 id=0 ExecutionException(errorCode=RES OURCE_LIMIT_EXCEEDED, commandId=8, classCode=0, commandCode=0, fieldIndex=0, description=resource-limit-exceeded: Policy exceeded for test-queue s ize: max=1000, current=1024; count unlimited, current=0 (qpid/broker/Queue.cpp:418), errorInfo={})] at org.apache.qpid.tools.QpidBench$2.run(QpidBench.java:460) Caused by: org.apache.qpid.transport.SessionException: [ch=0 id=0 ExecutionException(errorCode=RESOURCE_LIMIT_EXCEEDED, commandId=8, classCode=0, commandCode=0, fieldIndex=0, description=resource-limit-exceeded: Policy exceeded for test-queue size: max=1000, current=1024; count unlimited, cu rrent=0 (qpid/broker/Queue.cpp:418), errorInfo={})] at org.apache.qpid.transport.Session.invoke(Session.java:276) at org.apache.qpid.transport.Invoker.messageTransfer(Invoker.java:127) at org.apache.qpid.tools.QpidBench.native_publisher(QpidBench.java:789) at org.apache.qpid.tools.QpidBench.access$500(QpidBench.java:45) at org.apache.qpid.tools.QpidBench$2.run(QpidBench.java:455) Additional info: This bug is close to bz465213. There was decision that behavior is acceptable for MRG 1.1, but should be improved for MRG 1.1.1 (that's why target is set to 1.1.1)
The bug/bad behavior has been fixed. Validated on RHEL 4.7 / 5.3 i386 / x86_64 on packages: qpidd-0.4.750054-1.el5, qpid-java-client-0.4.750205-1.el5, qpid-java-common-0.4.750205-1.el5 -> VERIFIED Last Exception dump: 2009-03-05 08:03:52,362 WARN [IoReceiver - localhost/127.0.0.1:5672] util.Logger (Logger.java:86) - Ignoring the idle timeout 0 set by the connection, using the brokers max value 120 NP: Thu Mar 05 08:03:52 EST 2009 Exception in thread "Thread-0" java.lang.RuntimeException: org.apache.qpid.transport.SessionException: ch=0 id=0 ExecutionException(errorCode=RESOURCE_LIMIT_EXCEEDED, commandId=125, classCode=0, commandCode=0, fieldIndex=0, description=resource-limit-exceeded: Policy exceeded on test-queue by message 118 of size 1024 , policy: size: max=120000, current=119808; count: unlimited; type=flow_to_disk (qpid/broker/QueuePolicy.cpp:90), errorInfo={}) at org.apache.qpid.tools.QpidBench$2.run(QpidBench.java:493) at java.lang.Thread.run(Thread.java:619) Caused by: org.apache.qpid.transport.SessionException: ch=0 id=0 ExecutionException(errorCode=RESOURCE_LIMIT_EXCEEDED, commandId=125, classCode=0, commandCode=0, fieldIndex=0, description=resource-limit-exceeded: Policy exceeded on test-queue by message 118 of size 1024 , policy: size: max=120000, current=119808; count: unlimited; type=flow_to_disk (qpid/broker/QueuePolicy.cpp:90), errorInfo={}) at org.apache.qpid.transport.Session.invoke(Session.java:543) at org.apache.qpid.transport.SessionInvoker.messageTransfer(SessionInvoker.java:96) at org.apache.qpid.tools.QpidBench.native_publisher(QpidBench.java:810) at org.apache.qpid.tools.QpidBench.access$500(QpidBench.java:67) at org.apache.qpid.tools.QpidBench$2.run(QpidBench.java:488) ... 1 more