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

Tommaso Teofili commented on SLING-4828:
----------------------------------------

I'd suggest at least to replace the mentioned line with 

{code}
        Resource createdResource = ResourceHelper.getOrCreateResource(resolver, 
path, properties);
        if (createdResource == null) {
            throw new PersistenceException("unable to persist resource " + 
path);
        }
{code}

and eventually with some kind of checksum control, so that the resulting 
persisted properties are the very same of the properties passed to 
{{ResourceUtil}} method, maybe that would need a different issue and should be 
done in the resource API implementation rather than on the client code.

> JobManagerImpl job persisting doesn't check the created resource 
> -----------------------------------------------------------------
>
>                 Key: SLING-4828
>                 URL: https://issues.apache.org/jira/browse/SLING-4828
>             Project: Sling
>          Issue Type: Bug
>          Components: Extensions
>    Affects Versions: Event 3.6.0
>            Reporter: Tommaso Teofili
>
> {{JobManagerImpl#addJob}} persists the job to be started in {{writeJob}} 
> however the result of {{ResourceHelper.getOrCreateResource}} is neither 
> checked (!=null) nor used so it can be that the returned {{Resource}} is null 
> or corrupted and therefore the job could not be persisted correctly, see 
> https://github.com/apache/sling/blob/trunk/bundles/extensions/event/src/main/java/org/apache/sling/event/impl/jobs/JobManagerImpl.java#L846.
> E.g. I've experienced some cases where a binary property of a JCR node ends 
> up being null but that is only noticed when the job is executed, not when 
> it's persisted.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to