Return-Path: Delivered-To: apmail-activemq-dev-archive@www.apache.org Received: (qmail 18357 invoked from network); 2 Feb 2011 21:51:51 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 2 Feb 2011 21:51:51 -0000 Received: (qmail 57272 invoked by uid 500); 2 Feb 2011 21:51:51 -0000 Delivered-To: apmail-activemq-dev-archive@activemq.apache.org Received: (qmail 57070 invoked by uid 500); 2 Feb 2011 21:51:50 -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 57062 invoked by uid 99); 2 Feb 2011 21:51:49 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 02 Feb 2011 21:51:49 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED,T_RP_MATCHES_RCVD X-Spam-Check-By: apache.org Received: from [140.211.11.116] (HELO hel.zones.apache.org) (140.211.11.116) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 02 Feb 2011 21:51:49 +0000 Received: from hel.zones.apache.org (hel.zones.apache.org [140.211.11.116]) by hel.zones.apache.org (Postfix) with ESMTP id 0553618ABEA for ; Wed, 2 Feb 2011 21:51:29 +0000 (UTC) Date: Wed, 2 Feb 2011 21:51:29 +0000 (UTC) From: "Swen Moczarski (JIRA)" To: dev@activemq.apache.org Message-ID: <1864350885.5986.1296683489018.JavaMail.tomcat@hel.zones.apache.org> In-Reply-To: <23575293.286261293101043114.JavaMail.jira@thor> Subject: [jira] Commented: (AMQ-3103) Queue stalls after Job Scheduler component shuts down. MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/AMQ-3103?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12989816#comment-12989816 ] Swen Moczarski commented on AMQ-3103: ------------------------------------- We got similar problems. The scheduler stops from time to time due to an exception. Maybe, the cause is an unsynchronized method in the scheduler which results in a broken store structure. I described the issue in AMQ-3140. Testcase and patch is available :-) Would be interesting to see if the patch fix this issue. > Queue stalls after Job Scheduler component shuts down. > ------------------------------------------------------ > > Key: AMQ-3103 > URL: https://issues.apache.org/jira/browse/AMQ-3103 > Project: ActiveMQ > Issue Type: Bug > Components: Broker > Affects Versions: 5.4.2 > Environment: Redhat Enterprise Linux 5.X, > JDK 1.5 32-bit > JDK 1.6 64-bit > Reporter: Swapnonil Mukherjee > Priority: Critical > Attachments: activemq-1.log, activemq.log, activemq.xml > > > Observation > ---- > Active MQ stops accepting all incoming messages destined for a particular queue, after the scheduler component processing scheduled messages on that queue encounters an Null Pointer Exception. > Environment > ---- > We are using the Spring JMSTemplate component to post messages onto a queue. We also place a delay of 30 seconds on each message before posting > {noformat} > message.setLongProperty(ScheduledMessage.AMQ_SCHEDULED_DELAY, Integer.parseInt("30") * 1000); > {noformat} > We use the Spring Default Message Listener Container to receive messages. > Normally the broker runs fine and we have seen messages appear under the "Scheduled" tab on the Active MQ Console, after which they processed normally and we can tally using the "Messages Enqueued" and the "Messages Dequeued" numbers. But occasionally the Job Scheduler fails with the following exception. > {code:xml} > 2010-12-10 16:31:38,522 | ERROR | JMS Failed to schedule job | org.apache.activemq.broker.scheduler.JobSchedulerImpl | JobScheduler:JMS > java.lang.NullPointerException > at org.apache.kahadb.index.BTreeIndex.loadNode(BTreeIndex.java:264) > at org.apache.kahadb.index.BTreeNode.getChild(BTreeNode.java:225) > at org.apache.kahadb.index.BTreeNode.remove(BTreeNode.java:330) > at org.apache.kahadb.index.BTreeIndex.remove(BTreeIndex.java:194) > at org.apache.activemq.broker.scheduler.JobSchedulerImpl.remove(JobSchedulerImpl.java:347) > at org.apache.activemq.broker.scheduler.JobSchedulerImpl$4.execute(JobSchedulerImpl.java:125) > at org.apache.kahadb.page.Transaction.execute(Transaction.java:728) > at org.apache.activemq.broker.scheduler.JobSchedulerImpl.remove(JobSchedulerImpl.java:123) > at org.apache.activemq.broker.scheduler.JobSchedulerImpl.mainLoop(JobSchedulerImpl.java:515) > at org.apache.activemq.broker.scheduler.JobSchedulerImpl.run(JobSchedulerImpl.java:429) > at java.lang.Thread.run(Thread.java:619) > 2010-12-10 16:31:39,561 | INFO | JobSchedulerStore:activemq-data/primary/scheduler stopped | org.apache.activemq.broker.scheduler.JobSchedulerStore | JobScheduler:JMS > {code} > Why does the Job Scheduler fail? One possible reason we have found is that the clock time settings on the VMs producing the messages and the broker as well as the consumers are all different. So the Job Scheduler may be shutting itself down arbitrarily due to this difference in clock. We are in the process of syncing all clocks but we are not sure whether this will solve the problem. > Bug > ---- > But the Bug really is, even if the Job Scheduler encounters an Null Pointer, why should it shutdown? Even more problematic is the fact that the queue itself stalls and does not accept anymore messages after the Job Scheduler shuts down. > The only way to recover is to completely delete the data directory. > I am attaching the activemq log and activemq configuration file. -- This message is automatically generated by JIRA. - For more information on JIRA, see: http://www.atlassian.com/software/jira