[
https://issues.apache.org/jira/browse/SLING-8805?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Eric Norman updated SLING-8805:
-------------------------------
Description:
The original ModifyAce impl automatically saves the JCR session at the end of
the modifyAce call.
However, for a use case where the ModifyAce call is just a part of some larger
action, then saving the JCR session during the modifyAce call may not be
appropriate and could partially save the data for the larger transaction if
some other exception is thrown later before the outer session save would occur.
This can leave the repository content in an unexpected state.
To preserve backward compatibility, the original autosave logic should be left
as is and new variants of the 2 ModifyAce#modifyAce methods should be added
that add a new autoSave parameter to let the caller specify whether to autoSave
or not.
was:
The original ModifyAce impl automatically saves the JCR session at the end of
the modifyAce call.
However, for a use case where the ModifyAce call is just a part of some larger
action, then saving the JCR session during the modifyAce call may not be
appropriate and could partially save the data for the larger transaction and
throw an exception in the middle. This can leave the repository content in an
unexpected state.
To preserve backward compatibility, the original autosave logic should be left
as is and new variants of the 2 ModifyAce#modifyAce methods should be added
that add a new autoSave parameter to let the caller specify whether to autoSave
or not.
> The ModifyAce#modifyAce calls should have an option to not autoSave the
> session
> -------------------------------------------------------------------------------
>
> Key: SLING-8805
> URL: https://issues.apache.org/jira/browse/SLING-8805
> Project: Sling
> Issue Type: Improvement
> Affects Versions: JCR Jackrabbit Access Manager 3.0.4
> Reporter: Eric Norman
> Assignee: Eric Norman
> Priority: Major
> Fix For: JCR Jackrabbit Access Manager 3.0.6
>
>
> The original ModifyAce impl automatically saves the JCR session at the end of
> the modifyAce call.
> However, for a use case where the ModifyAce call is just a part of some
> larger action, then saving the JCR session during the modifyAce call may not
> be appropriate and could partially save the data for the larger transaction
> if some other exception is thrown later before the outer session save would
> occur. This can leave the repository content in an unexpected state.
> To preserve backward compatibility, the original autosave logic should be
> left as is and new variants of the 2 ModifyAce#modifyAce methods should be
> added that add a new autoSave parameter to let the caller specify whether to
> autoSave or not.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)