You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by Gangadhar Rao <ga...@netcracker.com> on 2013/07/11 13:28:54 UTC

No Exception thrown when KahaDB is FULL

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.

Re: No Exception thrown when KahaDB is FULL

Posted by Gary Tully <ga...@gmail.com>.
use sendFailIfNoSpace see:
http://activemq.apache.org/producer-flow-control.html#ProducerFlowControl-ConfigureClientSideExceptions

On 11 July 2013 12:28, Gangadhar Rao <ga...@netcracker.com> wrote:
> 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.



-- 
http://redhat.com
http://blog.garytully.com