Uploaded image for project: 'OpenIDM'
  1. OpenIDM
  2. OPENIDM-9153

Backport OPENIDM-8042: scheduler throws NullPointerException at startup

    Details

    • Support Ticket IDs:

      Description

      The exception occurs when two nodes are starting at roughly the same time. During activation of the ScheduleConfigService, any discovered schedules get deleted from the repo prio to getting added/updated. A small window exists where each node tries to delete the same schedule in the repo at the same time.

      SEVERE: Bundle: org.forgerock.openidm.scheduler [190] [org.forgerock.openidm.schedule] The activate method has thrown an exception 
      java.lang.NullPointerException 
      at org.forgerock.openidm.quartz.impl.RepoJobStore.getTriggersForJob(RepoJobStore.java:876) 
      at org.quartz.core.QuartzScheduler.getTriggersOfJob(QuartzScheduler.java:1383) 
      at org.quartz.core.QuartzScheduler.deleteJob(QuartzScheduler.java:930) 
      at org.quartz.impl.StdScheduler.deleteJob(StdScheduler.java:278) 
      at org.forgerock.openidm.scheduler.SchedulerService.deleteSchedule(SchedulerService.java:394) 
      at org.forgerock.openidm.scheduler.SchedulerService.addSchedule(SchedulerService.java:345) 
      at org.forgerock.openidm.scheduler.SchedulerService.registerConfigService(SchedulerService.java:252) 
      at org.forgerock.openidm.scheduler.ScheduleConfigService.activate(ScheduleConfigService.java:87) 
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
      at java.lang.reflect.Method.invoke(Method.java:497) 
      at org.apache.felix.scr.impl.helper.BaseMethod.invokeMethod(BaseMethod.java:227) 
      at org.apache.felix.scr.impl.helper.BaseMethod.access$500(BaseMethod.java:38) 
      at org.apache.felix.scr.impl.helper.BaseMethod$Resolved.invoke(BaseMethod.java:591) 
      at org.apache.felix.scr.impl.helper.BaseMethod.invoke(BaseMethod.java:472) 
      at org.apache.felix.scr.impl.helper.ActivateMethod.invoke(ActivateMethod.java:146) 
      at org.apache.felix.scr.impl.manager.ImmediateComponentManager.createImplementationObject(ImmediateComponentManager.java:226) 
      at org.apache.felix.scr.impl.manager.ImmediateComponentManager.createComponent(ImmediateComponentManager.java:118) 
      at org.apache.felix.scr.impl.manager.AbstractComponentManager$Unsatisfied.activate(AbstractComponentManager.java:997) 
      at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:333) 
      at org.apache.felix.scr.impl.manager.DependencyManager.serviceAdded(DependencyManager.java:283) 
      at org.apache.felix.scr.impl.manager.DependencyManager.serviceChanged(DependencyManager.java:170) 
      at org.apache.felix.framework.util.EventDispatcher.invokeServiceListenerCallback(EventDispatcher.java:932) 
      at org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:793) 
      at org.apache.felix.framework.util.EventDispatcher.fireServiceEvent(EventDispatcher.java:543) 
      at org.apache.felix.framework.Felix.fireServiceEvent(Felix.java:4419) 
      at org.apache.felix.framework.Felix.registerService(Felix.java:3423) 
      at org.apache.felix.framework.BundleContextImpl.registerService(BundleContextImpl.java:346) 
      at org.apache.felix.scr.impl.manager.AbstractComponentManager.registerService(AbstractComponentManager.java:449) 
      at org.apache.felix.scr.impl.manager.AbstractComponentManager.registerComponentService(AbstractComponentManager.java:460) 
      at org.apache.felix.scr.impl.manager.AbstractComponentManager$Unsatisfied.activate(AbstractComponentManager.java:1009) 
      at org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:333) 
      at org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:157) 
      at org.apache.felix.scr.impl.config.ConfiguredComponentHolder.enableComponents(ConfiguredComponentHolder.java:256) 
      at org.apache.felix.scr.impl.BundleComponentActivator.loadDescriptor(BundleComponentActivator.java:253) 
      at org.apache.felix.scr.impl.BundleComponentActivator.initialize(BundleComponentActivator.java:147) 
      at org.apache.felix.scr.impl.BundleComponentActivator.<init>(BundleComponentActivator.java:111) 
      at org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:285) 
      at org.apache.felix.scr.impl.Activator.bundleChanged(Activator.java:203) 
      at org.apache.felix.framework.util.EventDispatcher.invokeBundleListenerCallback(EventDispatcher.java:868) 
      at org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:789) 
      at org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:514) 
      at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4403) 
      at org.apache.felix.framework.Felix.startBundle(Felix.java:2092) 
      at org.apache.felix.framework.Felix.setActiveStartLevel(Felix.java:1291) 
      at org.apache.felix.framework.FrameworkStartLevelImpl.run(FrameworkStartLevelImpl.java:304) 
      at java.lang.Thread.run(Thread.java:745)
      

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                cgdrake Chris Drake
                Reporter:
                cgdrake Chris Drake
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved: