Return-Path: Delivered-To: apmail-activemq-dev-archive@www.apache.org Received: (qmail 76032 invoked from network); 17 Jul 2009 11:04:54 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 17 Jul 2009 11:04:54 -0000 Received: (qmail 18427 invoked by uid 500); 17 Jul 2009 11:06:00 -0000 Delivered-To: apmail-activemq-dev-archive@activemq.apache.org Received: (qmail 18359 invoked by uid 500); 17 Jul 2009 11:05:59 -0000 Mailing-List: contact dev-help@activemq.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@activemq.apache.org Delivered-To: mailing list dev@activemq.apache.org Received: (qmail 18349 invoked by uid 99); 17 Jul 2009 11:05:59 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 17 Jul 2009 11:05:59 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.140] (HELO brutus.apache.org) (140.211.11.140) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 17 Jul 2009 11:05:56 +0000 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id 839C6234C053 for ; Fri, 17 Jul 2009 04:05:34 -0700 (PDT) Message-ID: <355793060.1247828734537.JavaMail.jira@brutus> Date: Fri, 17 Jul 2009 04:05:34 -0700 (PDT) From: "Rob Davies (JIRA)" To: dev@activemq.apache.org Subject: [jira] Resolved: (AMQ-2167) ActiveMQ producer/consumer hangs when one of the consumer didn't respond In-Reply-To: <1580191302.1237326520342.JavaMail.jira@brutus> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: ae95407df07c98740808b2ef9da0087c X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/activemq/browse/AMQ-2167?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Rob Davies resolved AMQ-2167. ----------------------------- Resolution: Fixed Fix Version/s: 5.3.0 Assignee: Rob Davies Turn producer Flow control off (default in 5.3). Also change prefetch to 0 on the consumer > ActiveMQ producer/consumer hangs when one of the consumer didn't respond > ------------------------------------------------------------------------ > > Key: AMQ-2167 > URL: https://issues.apache.org/activemq/browse/AMQ-2167 > Project: ActiveMQ > Issue Type: Bug > Reporter: Ashok > Assignee: Rob Davies > Priority: Blocker > Fix For: 5.3.0 > > Attachments: Thread Dump for ActiveMQ_2.tdump > > > We are using ActiveMQ 5.2 & Spring 2.5.4... > We are using ActiveMQ Embeeded broker > > > > > vm://localhost?broker.persistent=false > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > We are sending the email from all these listeners after doing some logic.when something happens in the SMTP side and if there is no response from SMTP side and if the Listener is waiting then the entire producer/consumer is halted. > My Question is why One Consumer blocking all other consumer /producer. (see the stack trace which shows one of the Consumer is waiting for some response from SMTP server). > ActiveMQ Session Task" - Thread t@2554 > java.lang.Thread.State: RUNNABLE > at java.net.SocketInputStream.socketRead0(Native Method) > at java.net.SocketInputStream.read(SocketInputStream.java:129) > at com.sun.mail.util.TraceInputStream.read(TraceInputStream.java:97) > at java.io.BufferedInputStream.fill(BufferedInputStream.java:218) > at java.io.BufferedInputStream.read(BufferedInputStream.java:237) > - locked java.io.BufferedInputStream@13a80ea > at com.sun.mail.util.LineInputStream.readLine(LineInputStream.java:75) > at com.sun.mail.smtp.SMTPTransport.readServerResponse(SMTPTransport.java:1440) > at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:1260) > at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:370) > at javax.mail.Service.connect(Service.java:275) > at org.springframework.mail.javamail.JavaMailSenderImpl.doSend(JavaMailSenderImpl.java:389) > at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:342) > at org.springframework.mail.javamail.JavaMailSenderImpl.send(JavaMailSenderImpl.java:338) > at com.jpmc.ibtech.spring.email.MimeEmailService.sendEmail(MimeEmailService.java:61) > at com.jpmc.spex.background.events.processor.AbstractEventAction.sendEmail(AbstractEventAction.java:63) > at com.jpmc.spex.background.events.processor.AbstractEventAction.execute(AbstractEventAction.java:79) > at com.jpmc.spex.background.events.processor.system.SystemEventAction.execute(SystemEventAction.java:47) > at com.jpmc.ibtech.spring.jms.EventProcessor.onMessage(EventProcessor.java:101) > at org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:531) > at org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:466) > at org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:435) > at org.springframework.jms.listener.AbstractMessageListenerContainer.executeListener(AbstractMessageListenerContainer.java:407) > at org.springframework.jms.listener.SimpleMessageListenerContainer.processMessage(SimpleMessageListenerContainer.java:290) > at org.springframework.jms.listener.SimpleMessageListenerContainer$2.onMessage(SimpleMessageListenerContainer.java:266) > at org.apache.activemq.ActiveMQMessageConsumer.dispatch(ActiveMQMessageConsumer.java:967) > - locked java.lang.Object@1e58347 > at org.apache.activemq.ActiveMQSessionExecutor.dispatch(ActiveMQSessionExecutor.java:122) > at org.apache.activemq.ActiveMQSessionExecutor.iterate(ActiveMQSessionExecutor.java:192) > at org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:122) > at org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:43) > at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885) > at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) > at java.lang.Thread.run(Thread.java:619) > Locked ownable synchronizers: > - locked java.util.concurrent.locks.ReentrantLock$NonfairSync@10dbec7 > See the attached ThreadDump which shows Producer is waiting.. > I saw that..I can enable ProduceFlowControl...I am just worried whether it will start spilling to the disk and create more problems. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.