You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sling.apache.org by "Carsten Ziegeler (JIRA)" <ji...@apache.org> on 2017/04/18 22:54:41 UTC

[jira] [Commented] (SLING-6782) Sling Job implementation should avoid unnecessary writes to the repository

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

Carsten Ziegeler commented on SLING-6782:
-----------------------------------------

Good catch. However, I think the patch is removing too much: the getOrCreateResource is currently using auto commit to avoid problems in a cluster if the path to the resource needs to be created as well (too nodes concurrently adding the same path). So I think this needs some more changes to ResourceHelper: auto commit for the parent path part, no auto commit for the resource creation.
At the same time we can remove getOrCreateResourceInternal as this is a copy of Sling's API ResourceUtil method

> Sling Job implementation should avoid unnecessary writes to the repository
> --------------------------------------------------------------------------
>
>                 Key: SLING-6782
>                 URL: https://issues.apache.org/jira/browse/SLING-6782
>             Project: Sling
>          Issue Type: Improvement
>          Components: Event
>    Affects Versions: Event 4.2.2
>            Reporter: Jörg Hoh
>         Attachments: SLING-6782-jobs-commit-to-often.patch
>
>
> I found in a number of occurences in the Sling Event code this pattern:
> {code}
>                         ResourceHelper.getOrCreateResource(resolver, newPath, props);
>                         resolver.delete(jobResource);
>                         resolver.commit();
> {code}
> and the getOrCreateResource is internally doing a commit on the resolver (autoCommit = true). So in the end there are 2 commits while only a single commit would be sufficient.
> Removing these "double" commits could avoid a few write operations on the repository.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)