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

Reply via email to