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