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

Reply via email to