Problem
Scheduled Datameer artifacts are not being triggered by the scheduler.
Cause
One possible reason of this issue is a non-correct cron pattern for a scheduled execution that is saved in the Datameer database.
Job trigger settings for every artifact are stored in the Datameer application database in the table dap_job_configuration
.
- Column
pull_type
keeps trigger type - manual (0), data-driven (1) or scheduled(2). - Column
schedule
keeps corresponding cron pattern for jobs that have been scheduled to a certain time.
By default, pull_type
is set to manual
and schedule
value is NULL
. In case you would like to schedule an artifact's execution, change the trigger type to scheduled
and set up the appropriate cron pattern. When the cron pattern is invalid or doesn't set, the UI throws an error and asks for valid input.
The scheduler process reads data from the database at the application's startup only. All other changes made to jobs triggering settings in the Datameer UI or via REST API calls are handled directly by the scheduler demon.
In case for some reason (e.g. incorrect UPDATE statement executed against Datameer database) the pull_type
for an artifact is set to scheduled (2)
, but cron pattern remains NULL
or is invalid, at the next restart Datameer will report the below error and none of scheduled jobs will be triggered, even those which have the correct settings.
[anonymous] FATAL [2017-10-11 15:58:54.646] [pool-2-thread-2] (ContextListener.java:81) - uncaught exception from thread pool-2-thread-2
it.sauronsoftware.cron4j.InvalidPatternException: invalid pattern "2 y * * *". Error parsing hours field: invalid field "y", invalid element "y", invalid range, invalid value "y", invalid integer value.
or
[anonymous] FATAL [2017-10-10 17:18:32.952] [pool-2-thread-2] (ContextListener.java:81) - uncaught exception from thread pool-2-thread-2 it.sauronsoftware.cron4j.InvalidPatternException: invalid pattern: "NULL"
Solution
In order to fix this issue, it is required to review the artifacts configuration and ensure that scheduled jobs don't have invalid or NULL values configured.
The below MySQL query returns a list of scheduled jobs that have NULL for cron pattern.
SELECT pull_type,schedule,id FROM dap_job_configuration WHERE pull_type = 2 AND schedule = 'NULL';
In case this query returns any records, it's needed to change pull_type
for these jobs to manual
or set a valid cron pattern.
To let the scheduler demon pick up recent changes, please restart Datameer and ensure that no InvalidPatternException
appears in conductor log.
Comments
0 comments
Please sign in to leave a comment.