I am trying to test the below scenario where I am not seeing the expected result using the activemq CMS CPP library with persistence turned ON at the activemq broker level.
*Scenario: * To test the behavior in sending a message to an activemq broker (persistance turned ON) with KahaDB being FULL (Reached its MAX limit) *Expected behavior:* We are expecting that the producer should receive an error while trying to send the message to the broker when the KahaDB is full. Steps: Configure an activemq broker with persistance turned ON at the broker level. Sent some messages to the queue configured on the broker. The messages are sent till the KahaDB is FULL. Once the KahaDB is full (Reached its MAX limit), the producer stopped sending the messages and was waiting in definitely to send the message which can be seen from the below logs. pstack of the Producer ---------------------- #0 0x0000003f7020aee9 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib64/libpthread.so.0 #1 0x00002b22c052a027 in *decaf::internal::util::concurrent::ConditionImpl::wait(decaf::util::concurrent::ConditionHandle*) () from /tools/apache-activemq/activemq-cpp-library-3.4.5/lib/libactivemq-cpp.so.14* #2 0x00002b22c058c155 in decaf::util::concurrent::CountDownLatch::await() () from /tools/apache-activemq/activemq-cpp-library-3.4.5/lib/libactivemq-cpp.so.14 #3 0x00002b22c040aacd in activemq::transport::correlator::FutureResponse::getResponse() () from /tools/apache-activemq/activemq-cpp-library-3.4.5/lib/libactivemq-cpp.so.14 #4 0x00002b22c0409d33 in activemq::transport::correlator::ResponseCorrelator::request(decaf::lang::Pointer<activemq::commands::Command, decaf::util::concurrent::atomic::AtomicRefCounter> const&) () from /tools/apache-activemq/activemq-cpp-library-3.4.5/lib/libactivemq-cpp.so.14 #5 0x00002b22c0347473 in activemq::core::ActiveMQConnection::syncRequest(decaf::lang::Pointer<activemq::commands::Command, decaf::util::concurrent::atomic::AtomicRefCounter>, unsigned int) () from /tools/apache-activemq/activemq-cpp-library-3.4.5/lib/libactivemq-cpp.so.14 #6 0x00002b22c039378b in activemq::core::ActiveMQSession::send(cms::Message*, activemq::core::ActiveMQProducer*, activemq::util::Usage*) () from /tools/apache-activemq/activemq-cpp-library-3.4.5/lib/libactivemq-cpp.so.14 #7 0x00002b22c038102d in activemq::core::ActiveMQProducer::send(cms::Destination const*, cms::Message*, int, int, long long) () from /tools/apache-activemq/activemq-cpp-library-3.4.5/lib/libactivemq-cpp.so.14 #8 0x00002b22c0381bbb in activemq::core::ActiveMQProducer::send(cms::Destination const*, cms::Message*) () from /tools/apache-activemq/activemq-cpp-library-3.4.5/lib/libactivemq-cpp.so.14 #9 0x00002b22c0382bae in activemq::core::ActiveMQProducer::send(cms::Message*) () from /tools/apache-activemq/activemq-cpp-library-3.4.5/lib/libactivemq-cpp.so.14 Activemq Logs ----------------- 2013-07-11 11:32:29,264 | INFO | Usage(default:store:queue://Realtime_Q:store) percentUsage=99%, usage=1089068, limit=1048576, percentUsageMinDelta=1%;Parent:Usage(default:store) percentUsage=103%, usage=1089068, limit=1048576, percentUsageMinDelta=1%: *Persistent store is Full, 100% of 1048576*. Stopping producer (ID:hornbeam-42586-1373538545071-0:1:0:0) to prevent flooding queue://Realtime_Q. See http://activemq.apache.org/producer-flow-control.html for more info (blocking for: 185s) | org.apache.activemq.broker.region.Queue | ActiveMQ Transport: tcp:///10.29.9.86:53002@8058 Activemq broker Configuration persistent="true" at the broker level broker connect string is of the below format: tcp://hostname:port Question: Can any one tell whether the producer would receive any error while sending the message to the broker when the KahaDB is full. And also in order to receive the error for the scenario which I have mentioned above what configuration changes I need to do. -- View this message in context: http://activemq.2283324.n4.nabble.com/No-Exception-thrown-when-KahaDB-is-FULL-tp4669128.html Sent from the ActiveMQ - User mailing list archive at Nabble.com.
