activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Helen Huang (JIRA)" <j...@apache.org>
Subject [jira] Created: (AMQCPP-311) The worker threads in the threadpool seem to sleep when a receiver waits for messages from the broker.
Date Tue, 17 Aug 2010 15:25:47 GMT
The worker threads in the threadpool seem to sleep when a receiver waits for messages from
the broker. 
-------------------------------------------------------------------------------------------------------

                 Key: AMQCPP-311
                 URL: https://issues.apache.org/activemq/browse/AMQCPP-311
             Project: ActiveMQ C++ Client
          Issue Type: Bug
          Components: CMS Impl
    Affects Versions: 3.2.2
         Environment: Windows. ActiveMQ broker 5.3.1. 
            Reporter: Helen Huang
            Assignee: Timothy Bish
            Priority: Blocker


In our application, we are using a CmsTemplate (activemq::cmsutil::CmsTemplate)  to receive
messages. For each received message, we first create a task then put it into the threadpool
(decaf::util::concurrent::ThreadPool) for processing. We expect the worker threads are independent
from the receiving functionality of the CmsTemplate. While a receiver is waiting for new messages,
the worker threads should be able to process the messages that have been received already.
However, that is not we observed. The worker threads seem to be put into sleep until the receiver
timeouts. 

The following is the log we have created. you will see that we received five messages. The
last message was received and enqueued at 14:13:20 (by thread 0BB0), It was only processed
at 14:13:30 (by thread 0FDC), at/after a receive timeout (on thread 0BB0) . The waiting time
seems to be equal to the receive timeout which was 10 seconds. We have repeated the test by
setting the receive timeout to 200ms,1s, 3s, 5s, and 10s. We observed the same behavior with
each test. The configuration for the threadpool was: MaxThreads 20, BockSize 5, ReservedThreads
10. This is a critical issue for our application. Hope you will be able to look into it soon.
Your help is highly appreciated!

SAServer08/16 14:13:20     1,995,656 0BB0> Receiver::ReceiveMessage() - received a cms
message.
SAServer08/16 14:13:20     1,995,656 0BB0> Receiver::ReceiveMessage() - The payload of
the cms message is: <?xml version="1.0" encoding="UTF-8"?><itemPolicy><upc>000671115010</upc><returnAllRecords>0</returnAllRecords></itemPolicy>.
SAServer08/16 14:13:20     1,995,656 0FAC> Receiver::ExecuteMessagingTask() - calling the
message listener function for a received message
SAServer08/16 14:13:20     1,995,656 0BB0> Receiver::run() - enqueued a messaging task
SAServer08/16 14:13:20     1,995,687 0BB0> Receiver::ReceiveMessage() - received a cms
message.
SAServer08/16 14:13:20     1,995,687 0BB0> Receiver::ReceiveMessage() - The payload of
the cms message is: <?xml version="1.0" encoding="UTF-8"?><itemPolicy><upc>000671115010</upc><returnAllRecords>0</returnAllRecords></itemPolicy>.
SAServer08/16 14:13:20     1,995,687 0BB0> Receiver::run() - enqueued a messaging task
SAServer08/16 14:13:20     1,995,687 0730> Receiver::ExecuteMessagingTask() - calling the
message listener function for a received message
SAServer08/16 14:13:20     1,995,687 0BB0> Receiver::ReceiveMessage() - received a cms
message.
SAServer08/16 14:13:20     1,995,687 0BB0> Receiver::ReceiveMessage() - The payload of
the cms message is: <?xml version="1.0" encoding="UTF-8"?><itemPolicy><upc>000671115010</upc><returnAllRecords>0</returnAllRecords></itemPolicy>
SAServer08/16 14:13:20     1,995,687 0BB0> Receiver::run() - enqueued a messaging task
SAServer08/16 14:13:20     1,995,687 0F98> Receiver::ExecuteMessagingTask() - calling the
message listener function for a received message
SAServer08/16 14:13:20     1,995,703 0BB0> Receiver::ReceiveMessage() - received a cms
message.
SAServer08/16 14:13:20     1,995,703 0BB0> Receiver::ReceiveMessage() - The payload of
the cms message is: <?xml version="1.0" encoding="UTF-8"?><itemPolicy><upc>000671115010</upc><returnAllRecords>0</returnAllRecords></itemPolicy>
SAServer08/16 14:13:20     1,995,703 0BB0> Receiver::run() - enqueued a messaging task
SAServer08/16 14:13:20     1,995,703 0E08> Receiver::ExecuteMessagingTask() - calling the
message listener function for a received message
SAServer08/16 14:13:20     1,995,703 0BB0> Receiver::ReceiveMessage() - received a cms
message.
SAServer08/16 14:13:20     1,995,703 0BB0> Receiver::ReceiveMessage() - The payload of
the cms message is: <?xml version="1.0" encoding="UTF-8"?><itemPolicy><upc>000671115010</upc><returnAllRecords>0</returnAllRecords></itemPolicy>
SAServer08/16 14:13:20     1,995,703 0BB0> Receiver::run() - enqueued a messaging task
SAServer08/16 14:13:21     1,995,906 0FAC> Enter CCmsMessageHandlerAPI::SendMessage(),
clientName:SAServer, destName:Response
SAServer08/16 14:13:21     1,995,906 0FAC> Sender::SendMessage() - sent message <itemPolicy>
	<upc>000671115010</upc>
	<returnAllRecords>0</returnAllRecords>
	<weightEntries>
		<weightEntry>
			<initialWeight>290</initialWeight>
			<averageWeight>260</averageWeight>
			<weightTally>3</weightTally>
			<lastDate>2145934800</lastDate>
			<isApproved>1</isApproved>
			<isPPWU>0</isPPWU>
			<standardDev>-1</standardDev>
			<weightTolerance>-999</weightTolerance>
		</weightEntry>
	</weightEntries>
</itemPolicy> successfully to cms
SAServer08/16 14:13:21     1,995,906 0FAC> Exit CCmsMessageHandlerAPI::SendMessage() -
Success
SAServer08/16 14:13:21     1,996,140 0730> Enter CCmsMessageHandlerAPI::SendMessage(),
clientName:SAServer, destName:Response
SAServer08/16 14:13:21     1,996,156 0730> Sender::SendMessage() - sent message <itemPolicy>
	<upc>000671115010</upc>
	<returnAllRecords>0</returnAllRecords>
	<weightEntries>
		<weightEntry>
			<initialWeight>290</initialWeight>
			<averageWeight>260</averageWeight>
			<weightTally>3</weightTally>
			<lastDate>2145934800</lastDate>
			<isApproved>1</isApproved>
			<isPPWU>0</isPPWU>
			<standardDev>-1</standardDev>
			<weightTolerance>-999</weightTolerance>
		</weightEntry>
	</weightEntries>
</itemPolicy> successfully to cms
SAServer08/16 14:13:21     1,996,156 0730> Exit CCmsMessageHandlerAPI::SendMessage() -
Success
SAServer08/16 14:13:21     1,996,375 0F98> Enter CCmsMessageHandlerAPI::SendMessage(),
clientName:SAServer, destName:Response
SAServer08/16 14:13:21     1,996,390 0F98> Sender::SendMessage() - sent message <itemPolicy>
	<upc>000671115010</upc>
	<returnAllRecords>0</returnAllRecords>
	<weightEntries>
		<weightEntry>
			<initialWeight>290</initialWeight>
			<averageWeight>260</averageWeight>
			<weightTally>3</weightTally>
			<lastDate>2145934800</lastDate>
			<isApproved>1</isApproved>
			<isPPWU>0</isPPWU>
			<standardDev>-1</standardDev>
			<weightTolerance>-999</weightTolerance>
		</weightEntry>
	</weightEntries>
</itemPolicy> successfully to cms
SAServer08/16 14:13:21     1,996,390 0F98> Exit CCmsMessageHandlerAPI::SendMessage() -
Success
SAServer08/16 14:13:21     1,996,609 0E08> Enter CCmsMessageHandlerAPI::SendMessage(),
clientName:SAServer, destName:Response
SAServer08/16 14:13:21     1,996,625 0E08> Sender::SendMessage() - sent message <itemPolicy>
	<upc>000671115010</upc>
	<returnAllRecords>0</returnAllRecords>
	<weightEntries>
		<weightEntry>
			<initialWeight>290</initialWeight>
			<averageWeight>260</averageWeight>
			<weightTally>3</weightTally>
			<lastDate>2145934800</lastDate>
			<isApproved>1</isApproved>
			<isPPWU>0</isPPWU>
			<standardDev>-1</standardDev>
			<weightTolerance>-999</weightTolerance>
		</weightEntry>
	</weightEntries>
</itemPolicy> successfully to cms
SAServer08/16 14:13:21     1,996,625 0E08> Exit CCmsMessageHandlerAPI::SendMessage() -
Success
SAServer08/16 14:13:30     2,005,703 0FDC> Receiver::ExecuteMessagingTask() - calling the
message listener function for a received message
SAServer08/16 14:13:30     2,005,703 0BB0> Receiver::ReceiveMessage() - receive timed out
SAServer08/16 14:13:31     2,005,921 0FDC> Enter CCmsMessageHandlerAPI::SendMessage(),
clientName:SAServer, destName:Response
SAServer08/16 14:13:31     2,005,921 0FDC> Sender::SendMessage() - sent message <itemPolicy>
	<upc>000671115010</upc>
	<returnAllRecords>0</returnAllRecords>
	<weightEntries>
		<weightEntry>
			<initialWeight>290</initialWeight>
			<averageWeight>260</averageWeight>
			<weightTally>3</weightTally>
			<lastDate>2145934800</lastDate>
			<isApproved>1</isApproved>
			<isPPWU>0</isPPWU>
			<standardDev>-1</standardDev>
			<weightTolerance>-999</weightTolerance>
		</weightEntry>
	</weightEntries>
</itemPolicy> successfully to cms
SAServer08/16 14:13:31     2,005,921 0FDC> Exit CCmsMessageHandlerAPI::SendMessage() -
Success
SAServer08/16 14:13:40     2,015,703 0BB0> Receiver::ReceiveMessage() - receive timed out
SAServer08/16 14:13:50     2,025,703 0BB0> Receiver::ReceiveMessage() - receive timed out
SAServer08/16 14:14:00     2,035,703 0BB0> Receiver::ReceiveMessage() - receive timed out



-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message