[ https://issues.apache.org/jira/browse/SLING-9906?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17273081#comment-17273081 ]
Stefan Egli commented on SLING-9906: ------------------------------------ * started prototyping on this in a forked branch [here|https://github.com/stefan-egli/sling-org-apache-sling-event/tree/SLING-9906] (still in early stages though) * the idea being to have a unit test (not pax exam as that is too shielded for this case) and for that some package-protected methods and constructors were added/modified. shouldn't have any influence on package versioning though. * the plan is to look into "halting" topics that have {{ClassNotFoundException}} when loading jobs. It is of course an open question as to what to do with those jobs - as it could in theory be that only a couple of jobs of a topic have this issue, and then halting the entire topic might be seen as unfair. However I believe that this is a failure in the setup if this case happens - so halting a bit too much shouldn't be an issue at that stage IMO. * besides introducing this "halting", the idea is also to reduce the log.warn noisiness as suggested. * will also be looking into the re-assigning issue - probably as the last step (as I fear that wouldn't have helped in the issue at hand). > Avoid retrying to load jobs if classes are missing > -------------------------------------------------- > > Key: SLING-9906 > URL: https://issues.apache.org/jira/browse/SLING-9906 > Project: Sling > Issue Type: Improvement > Components: Event > Reporter: Carsten Ziegeler > Assignee: Stefan Egli > Priority: Major > Fix For: Event 4.2.14 > > > When a Sling job is tried to be loaded, it might reference public api classes > provided by bundles - although that is a bad pattern that should be avoid, > sometimes this is used. > While the job engine does not try to reload those jobs for execution - unless > such a new job is created (which is unlikely as the class is missing), the > re-assigning of jobs from a removed instance to a new one suffers from the > same problem. And that is retried over and over again. > So there are probably several possible improvements: > - make sure that jobs are not reloaded when public classes are missing during > job execution (unless bundles have changed) > - reduce log output to a log statement (except of stack trace) if > classloading for jobs fails > - change re-assigning of jobs to not require classes to be available. This > can probably be solved by using ResourceResolver.move -- This message was sent by Atlassian Jira (v8.3.4#803005)