We have 101 file events set up in Adeptia. They are all ‘On FileCreated’, w/ a polling frequency of 30 seconds, a stable time of 15 seconds, and ‘Trigger in sequence’ is unchecked.
We receive thousands of these messages in our KernelApplication.log file every day:
2014-01-11 07:36:57,385 INFO [QuartzScheduler_TestScheduler-NON_CLUSTERED_MisfireHandler] org.quartz.impl.jdbcjobstore.JobStoreTX org.quartz.impl.jdbcjobstore.JobStoreSupport.recoverMisfiredJobs(JobStoreSupport.java:952) - Handling the first 5 triggers that missed their scheduled fire-time. More misfired triggers remain to be processed.
- If machine is down at the time when events are scheduled to fire.
- If kernel is down at the time when event is scheduled to fire. So whenever the Adeptia server is restarted then the triggers that are misfired in between are handled.
- If a new thread isn’t available when the event is scheduled to fire because all the threads are occupied by the running Events. This could be happen when the number of event activity scheduled to get fire at the particular time is more than the thread-count allocated in quartz.properties file. If such scenario occurs than processes don’t get thread to get fired and it result to misfires.
To reduce cause 3, the lowest polling frequency should be 2 minutes. If there are hundreds of events, then the ideal value would be 4 to 5 minutes for the polling frequency.