Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 346392

Summary: Error retrieving matching context in scheduling jobs
Product: z_Archived Reporter: Mike Tschierschke <mike.tschierschke>
Component: gyrexAssignee: Gunnar Wagenknecht <gunnar>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: m.mokros, mario.mokros
Version: unspecified   
Target Milestone: ---   
Hardware: All   
OS: All   
Whiteboard:
Attachments:
Description Flags
Fix for the bug
none
updated patch
none
updated patch
none
updated patch none

Description Mike Tschierschke CLA 2011-05-19 04:20:44 EDT
Created attachment 196081 [details]
Fix for the bug

When a job is ready to be scheduled, the process fails because no context path is retrieved from the JobDataMap in SchedulingJob#execute(...).
Propable reason: A context path is never set to the map.

The attached patch solves the problem.

Gunnar, please review the patch soon and feel free to commit.
Comment 1 Gunnar Wagenknecht CLA 2011-05-19 06:20:01 EDT
Created attachment 196093 [details]
updated patch

Mike, this is an updated version. The path only needs to be stored for the schedule, i.e. not per entry. Please review and test!
Comment 2 Gunnar Wagenknecht CLA 2011-05-19 06:21:30 EDT
Created attachment 196094 [details]
updated patch
Comment 3 Gunnar Wagenknecht CLA 2011-05-19 06:22:55 EDT
Created attachment 196096 [details]
updated patch

fixed typo
Comment 4 Gunnar Wagenknecht CLA 2011-05-19 06:24:36 EDT
Mario, please test with the modified patch.
Comment 5 Mario Mokros CLA 2011-05-19 12:22:30 EDT
(In reply to comment #4)
> Mario, please test with the modified patch.

It works but if you create the schedule you get the following error. If you ignore the message and go ahead with configuration all works fine and the scheduled job starts as expected.

osgi> jobs createSchedule "/ageto/columbus/arq/de/staging/" arqTsoProductSync
18:18:21.018 [OSGi Console] ERROR o.e.g.j.internal.scheduler.Scheduler - Unable to start schedule e73589534d598d192ccc992500866b7de6835a5a_arqTsoProductSync. IllegalStateException: Schedule arqTsoProductSync is invalid. Its context path is missing! Please delete and re-create.
java.lang.IllegalStateException: Unable to load schedule 'e73589534d598d192ccc992500866b7de6835a5a_arqTsoProductSync'. Schedule arqTsoProductSync is invalid. Its context path is missing! Please delete and re-create.
	at org.eclipse.gyrex.jobs.internal.scheduler.Schedule.<init>(Schedule.java:68) ~[na:na]
	at org.eclipse.gyrex.jobs.internal.scheduler.Scheduler.addSchedule(Scheduler.java:81) ~[na:na]
	at org.eclipse.gyrex.jobs.internal.scheduler.Scheduler.added(Scheduler.java:70) ~[na:na]
	at org.eclipse.gyrex.cloud.internal.preferences.ZooKeeperBasedPreferences.fireNodeEvent(ZooKeeperBasedPreferences.java:454) [org.eclipse.gyrex.cloud_1.0.0.v20110518-1230.jar:na]
	at org.eclipse.gyrex.cloud.internal.preferences.ZooKeeperBasedPreferences.node(ZooKeeperBasedPreferences.java:826) [org.eclipse.gyrex.cloud_1.0.0.v20110518-1230.jar:na]
	at org.eclipse.gyrex.jobs.internal.schedules.ScheduleStore.create(ScheduleStore.java:36) [org.eclipse.gyrex.jobs/:na]
	at org.eclipse.gyrex.jobs.internal.schedules.ScheduleManagerImpl.createSchedule(ScheduleManagerImpl.java:77) [org.eclipse.gyrex.jobs/:na]
	at org.eclipse.gyrex.jobs.internal.commands.CreateScheduleCmd.doExecute(CreateScheduleCmd.java:58) [org.eclipse.gyrex.jobs/:na]
	at org.eclipse.gyrex.common.console.Command.execute(Command.java:39) [org.eclipse.gyrex.common_1.0.0.v20110518-1230.jar:na]
	at org.eclipse.gyrex.common.console.BaseCommandProvider.execute(BaseCommandProvider.java:108) [org.eclipse.gyrex.common_1.0.0.v20110518-1230.jar:na]
	at org.eclipse.gyrex.jobs.internal.commands.JobsConsoleCommands._jobs(JobsConsoleCommands.java:41) [org.eclipse.gyrex.jobs/:na]
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.6.0_22]
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) ~[na:1.6.0_22]
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) ~[na:1.6.0_22]
	at java.lang.reflect.Method.invoke(Method.java:597) ~[na:1.6.0_22]
	at org.eclipse.osgi.framework.internal.core.FrameworkCommandInterpreter.execute(FrameworkCommandInterpreter.java:209) [org.eclipse.osgi_3.7.0.v20110511.jar:na]
	at org.eclipse.osgi.framework.internal.core.FrameworkConsole.docommand(FrameworkConsole.java:155) [org.eclipse.osgi_3.7.0.v20110511.jar:na]
	at org.eclipse.osgi.framework.internal.core.FrameworkConsole.runConsole(FrameworkConsole.java:140) [org.eclipse.osgi_3.7.0.v20110511.jar:na]
	at org.eclipse.osgi.framework.internal.core.FrameworkConsole.run(FrameworkConsole.java:104) [org.eclipse.osgi_3.7.0.v20110511.jar:na]
	at java.lang.Thread.run(Thread.java:662) [na:1.6.0_22]
Caused by: java.lang.IllegalStateException: Schedule arqTsoProductSync is invalid. Its context path is missing! Please delete and re-create.
	at org.eclipse.gyrex.jobs.internal.schedules.ScheduleImpl.load(ScheduleImpl.java:164) ~[na:na]
	at org.eclipse.gyrex.jobs.internal.scheduler.Schedule.<init>(Schedule.java:66) ~[na:na]
	... 19 common frames omitted
ERROR: NullPointerException:
Comment 6 Gunnar Wagenknecht CLA 2011-05-20 09:15:19 EDT
Fix committed!