You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by "Tommaso Teofili (JIRA)" <ji...@apache.org> on 2015/06/22 17:18:01 UTC

[jira] [Commented] (SLING-4828) JobManagerImpl job persisting doesn't check the created resource

    [ 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)