[ 
https://issues.apache.org/jira/browse/SLING-9906?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17276443#comment-17276443
 ] 

Stefan Egli commented on SLING-9906:
------------------------------------

[~cziegeler], thx for the review! I was actually intending to handle the 
BundleEvent and then thought hooking into configurationChanged would be enough 
(as that is invoked on PROPERTIES_CHANGED TopologyEvent - which is triggered if 
a bundle is activated that exposes a job consumer/executor). But that indeed 
might not be enough as the class might be in another bundle for example.

So I've now added handling of BundleEvent explicitly 
[here|https://github.com/apache/sling-org-apache-sling-event/pull/8/commits/f24618bf7080f8b66c4cc0779b9f1e27c8a18964]

> 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
>
>          Time Spent: 20m
>  Remaining Estimate: 0h
>
> 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)

Reply via email to