Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id 5EE48200C44 for ; Mon, 27 Mar 2017 14:43:54 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id 5D86F160B85; Mon, 27 Mar 2017 12:43:54 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 561C5160B5D for ; Mon, 27 Mar 2017 14:43:53 +0200 (CEST) Received: (qmail 71909 invoked by uid 500); 27 Mar 2017 12:43:52 -0000 Mailing-List: contact issues-help@camel.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@camel.apache.org Delivered-To: mailing list issues@camel.apache.org Received: (qmail 71900 invoked by uid 99); 27 Mar 2017 12:43:52 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd3-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 27 Mar 2017 12:43:52 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd3-us-west.apache.org (ASF Mail Server at spamd3-us-west.apache.org) with ESMTP id 171AA183991 for ; Mon, 27 Mar 2017 12:43:52 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd3-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -99.202 X-Spam-Level: X-Spam-Status: No, score=-99.202 tagged_above=-999 required=6.31 tests=[KAM_ASCII_DIVIDERS=0.8, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001, USER_IN_WHITELIST=-100] autolearn=disabled Received: from mx1-lw-us.apache.org ([10.40.0.8]) by localhost (spamd3-us-west.apache.org [10.40.0.10]) (amavisd-new, port 10024) with ESMTP id q7GzYZFtyi4U for ; Mon, 27 Mar 2017 12:43:50 +0000 (UTC) Received: from mailrelay1-us-west.apache.org (mailrelay1-us-west.apache.org [209.188.14.139]) by mx1-lw-us.apache.org (ASF Mail Server at mx1-lw-us.apache.org) with ESMTP id 33F075FDDB for ; Mon, 27 Mar 2017 12:43:44 +0000 (UTC) Received: from jira-lw-us.apache.org (unknown [207.244.88.139]) by mailrelay1-us-west.apache.org (ASF Mail Server at mailrelay1-us-west.apache.org) with ESMTP id D7C87E0D1C for ; Mon, 27 Mar 2017 12:43:42 +0000 (UTC) Received: from jira-lw-us.apache.org (localhost [127.0.0.1]) by jira-lw-us.apache.org (ASF Mail Server at jira-lw-us.apache.org) with ESMTP id D62FA2406E for ; Mon, 27 Mar 2017 12:43:41 +0000 (UTC) Date: Mon, 27 Mar 2017 12:43:41 +0000 (UTC) From: "Claus Ibsen (JIRA)" To: issues@camel.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Updated] (CAMEL-7809) Quartz PollConsumerScheduler in a cluster tries to create duplicate triggers, fails MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 archived-at: Mon, 27 Mar 2017 12:43:54 -0000 [ https://issues.apache.org/jira/browse/CAMEL-7809?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Claus Ibsen updated CAMEL-7809: ------------------------------- Fix Version/s: (was: Future) 2.19.0 2.18.4 > Quartz PollConsumerScheduler in a cluster tries to create duplicate triggers, fails > ----------------------------------------------------------------------------------- > > Key: CAMEL-7809 > URL: https://issues.apache.org/jira/browse/CAMEL-7809 > Project: Camel > Issue Type: Improvement > Components: camel-quartz2 > Affects Versions: 2.13.1 > Environment: identical CamelContexts deployed to each node in a cluster > Quartz 2.2.1 with JDBC JobStore and synchronization via DB > Reporter: Steffen Ryll > Assignee: Claus Ibsen > Fix For: 2.18.4, 2.19.0 > > Attachments: camel-quartz2_clustering_20190912.patch > > > I tested the patch developed in CAMEL-7663 and ran into another issue that prevents the CamelContext from starting up. The setup is the same as described in CAMEL-7663. > Upon startup I get following exception from Quartz on at least one cluster node: > {code} > 13:23:36|INFO |component.quartz2.QuartzComponent|[ACTIVE] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'|Shutting down scheduler. (will wait for all jobs to complete first.) > 13:23:36|INFO |quartz.core.QuartzScheduler|[ACTIVE] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'|Scheduler IPP_Integration_Scheduler-emerald-integration-web_$_fra...1410348212901 shutting down. > 13:23:36|INFO |quartz.core.QuartzScheduler|[ACTIVE] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'|Scheduler IPP_Integration_Scheduler-emerald-integration-web_$_fra...1410348212901 paused. > 13:23:36|INFO |quartz.core.QuartzScheduler|[ACTIVE] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'|Scheduler unregistered from name 'quartz:type=QuartzScheduler,name=IPP_Integration_Scheduler-emerald-integration-web,instance=fra...1410348212901' in the local MBeanServer. > 2014-09-10-13:23:36|INFO |quartz.core.QuartzScheduler|[ACTIVE] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'|Scheduler IPP_Integration_Scheduler-emerald-integration-web_$_fra...1410348212901 shutdown complete. > 13:23:36|ERROR|component.servletlistener.CamelServletContextListener|[ACTIVE] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'|Error starting CamelContext. > org.quartz.ObjectAlreadyExistsException: Unable to store Trigger with name: 'scheduler.fax.in' and group: 'QuartzScheduledPollConsumerScheduler', because one already exists with this identification. > at org.quartz.impl.jdbcjobstore.JobStoreSupport.storeTrigger(JobStoreSupport.java:1179) > at org.quartz.impl.jdbcjobstore.JobStoreSupport$2.executeVoid(JobStoreSupport.java:1063) > at org.quartz.impl.jdbcjobstore.JobStoreSupport$VoidTransactionCallback.execute(JobStoreSupport.java:3703) > at org.quartz.impl.jdbcjobstore.JobStoreSupport$VoidTransactionCallback.execute(JobStoreSupport.java:3701) > at org.quartz.impl.jdbcjobstore.JobStoreSupport.executeInNonManagedTXLock(JobStoreSupport.java:3787) > at org.quartz.impl.jdbcjobstore.JobStoreTX.executeInLock(JobStoreTX.java:93) > at org.quartz.impl.jdbcjobstore.JobStoreSupport.storeJobAndTrigger(JobStoreSupport.java:1058) > at org.quartz.core.QuartzScheduler.scheduleJob(QuartzScheduler.java:886) > at org.quartz.impl.StdScheduler.scheduleJob(StdScheduler.java:249) > at org.apache.camel.pollconsumer.quartz2.QuartzScheduledPollConsumerScheduler.doStart(QuartzScheduledPollConsumerScheduler.java:187) > at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:61) > at org.apache.camel.util.ServiceHelper.startService(ServiceHelper.java:74) > at org.apache.camel.impl.ScheduledPollConsumer.doStart(ScheduledPollConsumer.java:499) > at org.apache.camel.component.file.GenericFileConsumer.doStart(GenericFileConsumer.java:640) > at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:61) > at org.apache.camel.impl.DefaultCamelContext.startService(DefaultCamelContext.java:2042) > at org.apache.camel.impl.DefaultCamelContext.doStartOrResumeRouteConsumers(DefaultCamelContext.java:2336) > at org.apache.camel.impl.DefaultCamelContext.doStartRouteConsumers(DefaultCamelContext.java:2272) > at org.apache.camel.impl.DefaultCamelContext.safelyStartRouteServices(DefaultCamelContext.java:2202) > at org.apache.camel.impl.DefaultCamelContext.doStartOrResumeRoutes(DefaultCamelContext.java:1981) > at org.apache.camel.impl.DefaultCamelContext.doStartCamel(DefaultCamelContext.java:1851) > at org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:1683) > at org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:61) > at org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:1651) > at org.apache.camel.component.servletlistener.CamelServletContextListener.contextInitialized(CamelServletContextListener.java:179) > at weblogic.servlet.internal.EventsManager$FireContextListenerAction.run(EventsManager.java:661) > at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) > at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120) > at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:57) > at weblogic.servlet.internal.EventsManager.executeContextListener(EventsManager.java:241) > at weblogic.servlet.internal.EventsManager.notifyContextCreatedEvent(EventsManager.java:198) > at weblogic.servlet.internal.EventsManager.notifyContextCreatedEvent(EventsManager.java:183) > at weblogic.servlet.internal.WebAppServletContext.preloadResources(WebAppServletContext.java:1783) > at weblogic.servlet.internal.WebAppServletContext.start(WebAppServletContext.java:2807) > at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1661) > at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:822) > at weblogic.application.internal.ExtensibleModuleWrapper$StartStateChange.next(ExtensibleModuleWrapper.java:360) > at weblogic.application.internal.ExtensibleModuleWrapper$StartStateChange.next(ExtensibleModuleWrapper.java:356) > at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:42) > at weblogic.application.internal.ExtensibleModuleWrapper.start(ExtensibleModuleWrapper.java:138) > at weblogic.application.internal.flow.ModuleListenerInvoker.start(ModuleListenerInvoker.java:124) > at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:213) > at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:208) > at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:42) > at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:70) > at weblogic.application.internal.flow.StartModulesFlow.activate(StartModulesFlow.java:24) > at weblogic.application.internal.BaseDeployment$2.next(BaseDeployment.java:729) > at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:42) > at weblogic.application.internal.BaseDeployment.activate(BaseDeployment.java:258) > at weblogic.application.internal.EarDeployment.activate(EarDeployment.java:61) > at weblogic.application.internal.DeploymentStateChecker.activate(DeploymentStateChecker.java:165) > at weblogic.deploy.internal.targetserver.AppContainerInvoker.activate(AppContainerInvoker.java:80) > at weblogic.deploy.internal.targetserver.operations.AbstractOperation.activate(AbstractOperation.java:586) > at weblogic.deploy.internal.targetserver.operations.ActivateOperation.activateDeployment(ActivateOperation.java:148) > at weblogic.deploy.internal.targetserver.operations.ActivateOperation.doCommit(ActivateOperation.java:114) > at weblogic.deploy.internal.targetserver.operations.StartOperation.doCommit(StartOperation.java:151) > at weblogic.deploy.internal.targetserver.operations.AbstractOperation.commit(AbstractOperation.java:339) > at weblogic.deploy.internal.targetserver.DeploymentManager.handleDeploymentCommit(DeploymentManager.java:846) > at weblogic.deploy.internal.targetserver.DeploymentManager.activateDeploymentList(DeploymentManager.java:1275) > at weblogic.deploy.internal.targetserver.DeploymentManager.handleCommit(DeploymentManager.java:442) > at weblogic.deploy.internal.targetserver.DeploymentServiceDispatcher.commit(DeploymentServiceDispatcher.java:176) > at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.doCommitCallback(DeploymentReceiverCallbackDeliverer.java:195) > at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer.access$100(DeploymentReceiverCallbackDeliverer.java:13) > at weblogic.deploy.service.internal.targetserver.DeploymentReceiverCallbackDeliverer$2.run(DeploymentReceiverCallbackDeliverer.java:68) > at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:550) > at weblogic.work.ExecuteThread.execute(ExecuteThread.java:295) > at weblogic.work.ExecuteThread.run(ExecuteThread.java:254) > {code} > I have started working on a fix that adopt the approach for clustering found in {{QuartzEndpoint}} to {{QuartzSchedulerPollConsumerScheduler}}. > The patch is attached and I am asking for feedback. -- This message was sent by Atlassian JIRA (v6.3.15#6346)