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)