You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-dev@jackrabbit.apache.org by "Michael Dürig (JIRA)" <ji...@apache.org> on 2012/06/07 14:48:22 UTC

[jira] [Created] (OAK-133) Session.refresh(true) should allow for manual conflict reconciliation

Michael Dürig created OAK-133:
---------------------------------

             Summary: Session.refresh(true) should allow for manual conflict reconciliation
                 Key: OAK-133
                 URL: https://issues.apache.org/jira/browse/OAK-133
             Project: Jackrabbit Oak
          Issue Type: New Feature
          Components: core
            Reporter: Michael Dürig


There should be a way for manual reconciliation of conflicts which {{Session.refresh(true)}} cannot handle automatically. See OAK-131 for one such case and Jukka's proposal for using conflict markers for such cases [1].

[1] http://markmail.org/message/qogspnyao5yjwl45

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

[jira] [Commented] (OAK-133) Session.refresh(true) should allow for manual conflict reconciliation

Posted by "Michael Dürig (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/OAK-133?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13293701#comment-13293701 ] 

Michael Dürig commented on OAK-133:
-----------------------------------

On a second thought, it might be better to use a mixin to mark conflicts. This is less invasive and leaves the original structure of the involved sub-tree intact. The mixin would provide the definition for the 'theirs' node which would be set to the persisted node while the node itself would stay untouched (i.e. keep all transient changes) otherwise. 

To avoid oak-core requiring knowledge of the specific mixin, this could be factored into some kind of merge handler. 
                
> Session.refresh(true) should allow for manual conflict reconciliation
> ---------------------------------------------------------------------
>
>                 Key: OAK-133
>                 URL: https://issues.apache.org/jira/browse/OAK-133
>             Project: Jackrabbit Oak
>          Issue Type: New Feature
>          Components: core
>            Reporter: Michael Dürig
>
> There should be a way for manual reconciliation of conflicts which {{Session.refresh(true)}} cannot handle automatically. See OAK-131 for one such case and Jukka's proposal for using conflict markers for such cases [1].
> [1] http://markmail.org/message/qogspnyao5yjwl45

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

[jira] [Updated] (OAK-133) Session.refresh(true) should allow for manual conflict reconciliation

Posted by "Michael Dürig (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/OAK-133?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Michael Dürig updated OAK-133:
------------------------------

    Component/s: jcr
    
> Session.refresh(true) should allow for manual conflict reconciliation
> ---------------------------------------------------------------------
>
>                 Key: OAK-133
>                 URL: https://issues.apache.org/jira/browse/OAK-133
>             Project: Jackrabbit Oak
>          Issue Type: New Feature
>          Components: core, jcr
>            Reporter: Michael Dürig
>            Assignee: Michael Dürig
>
> There should be a way for manual reconciliation of conflicts which {{Session.refresh(true)}} cannot handle automatically. See OAK-131 for one such case and Jukka's proposal for using conflict markers for such cases [1].
> [1] http://markmail.org/message/qogspnyao5yjwl45

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

[jira] [Commented] (OAK-133) Session.refresh(true) should allow for manual conflict reconciliation

Posted by "Michael Dürig (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/OAK-133?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13290982#comment-13290982 ] 

Michael Dürig commented on OAK-133:
-----------------------------------

On a more detailed account here is what I'd like to do:

If {{Session.refresh(true)}} encounters a conflict on child node {{n}} of parent {{p}}, it sets {{n}} to a conflict maker node in {{p}}. That conflict marker node would essentially contain the original node how it was before {{Session.refresh}} and the new node how it looked at the persisted state at the time of {{Session.refresh}}. The presence of conflict marker nodes would prevent the session from being saved (e.g. via a commit hook) but would allow clients to manually clean things up and save the session then.
                
> Session.refresh(true) should allow for manual conflict reconciliation
> ---------------------------------------------------------------------
>
>                 Key: OAK-133
>                 URL: https://issues.apache.org/jira/browse/OAK-133
>             Project: Jackrabbit Oak
>          Issue Type: New Feature
>          Components: core
>            Reporter: Michael Dürig
>
> There should be a way for manual reconciliation of conflicts which {{Session.refresh(true)}} cannot handle automatically. See OAK-131 for one such case and Jukka's proposal for using conflict markers for such cases [1].
> [1] http://markmail.org/message/qogspnyao5yjwl45

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

[jira] [Resolved] (OAK-133) Session.refresh(true) should allow for manual conflict reconciliation

Posted by "Michael Dürig (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/OAK-133?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Michael Dürig resolved OAK-133.
-------------------------------

       Resolution: Fixed
    Fix Version/s: 0.3

Fixed at revision 1350287
                
> Session.refresh(true) should allow for manual conflict reconciliation
> ---------------------------------------------------------------------
>
>                 Key: OAK-133
>                 URL: https://issues.apache.org/jira/browse/OAK-133
>             Project: Jackrabbit Oak
>          Issue Type: New Feature
>          Components: core, jcr
>            Reporter: Michael Dürig
>            Assignee: Michael Dürig
>             Fix For: 0.3
>
>
> There should be a way for manual reconciliation of conflicts which {{Session.refresh(true)}} cannot handle automatically. See OAK-131 for one such case and Jukka's proposal for using conflict markers for such cases [1].
> [1] http://markmail.org/message/qogspnyao5yjwl45

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

[jira] [Assigned] (OAK-133) Session.refresh(true) should allow for manual conflict reconciliation

Posted by "Michael Dürig (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/OAK-133?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Michael Dürig reassigned OAK-133:
---------------------------------

    Assignee: Michael Dürig
    
> Session.refresh(true) should allow for manual conflict reconciliation
> ---------------------------------------------------------------------
>
>                 Key: OAK-133
>                 URL: https://issues.apache.org/jira/browse/OAK-133
>             Project: Jackrabbit Oak
>          Issue Type: New Feature
>          Components: core
>            Reporter: Michael Dürig
>            Assignee: Michael Dürig
>
> There should be a way for manual reconciliation of conflicts which {{Session.refresh(true)}} cannot handle automatically. See OAK-131 for one such case and Jukka's proposal for using conflict markers for such cases [1].
> [1] http://markmail.org/message/qogspnyao5yjwl45

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira