[
https://issues.apache.org/jira/browse/OAK-14?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13229181#comment-13229181
]
Michael Dürig commented on OAK-14:
----------------------------------
Here is a list of things we need to keep an eye on. The list is compiled from
the experience I made within the experimental implementations in the sandbox
[1, 2]. We should make them into separate issues as we encounter them in our
implementation effort.
* SNS: Implement through name mangling. Raise a JSR issue if necessary.
* Query and eventual consistency: would it be tolerable to have the query index
not up to date yet? (i.e. after a possibly large save.) This could either
result in incomplete query results, an exception or the query to be deferred
until the index is up to date. Maybe we could even let the client chose through
'query hints'.
* refresh/save/revert wrt. MVCC: Both refresh and save will bring the session
up to the current head revision. There is thus no revert semantics in the API.
Since we are closer to the SVN use case now where conflicts are resolved on the
client it might be necessary to introduce a Item.revert, Session.revert. See
http://java.net/jira/browse/JSR_333-47
* MVCC wrt. Item.refresh, Item.save: Are troublesome since then revisions need
to be tracked per item instead of per session. Later commits would have to be
made atomic across various revisions instead of only a single one.
* MVCC wrt. observation: Semantics change somewhat since a session might
receive events "from the future". That is, events from a newer revision than
the current session's. Trying to get a node from an NODE_ADDED event might thus
result in an ItemNotFoundException unless the session is refreshed. In contrast
nodes referred to by a NODE_REMOVED events will still be visible to the
session. An approach to mitigate this is to have read only sessions which are
always on the newest revision (i.e. see all saved changes).
* Node type consistency currently not fully achievable due to write skew
effects exposed by snapshot isolation [3]
[1] http://svn.apache.org/viewvc/jackrabbit/sandbox/jackrabbit-mk/
[2] http://svn.apache.org/viewvc/jackrabbit/sandbox/jackrabbit-microkernel/
[3]
http://wiki.apache.org/jackrabbit/Transactional%20model%20of%20the%20Microkernel%20based%20Jackrabbit%20prototype
> Identify and document changes in behaviour wrt. Jackrabbit 2
> ------------------------------------------------------------
>
> Key: OAK-14
> URL: https://issues.apache.org/jira/browse/OAK-14
> Project: Jackrabbit Oak
> Issue Type: Task
> Reporter: Michael Dürig
>
> Some implementation specific behaviour will likely change. We should document
> the cases, provide test cases and migration paths where applicable.
> This issue serves as a container. Please create separate issues for each
> identifies change in behaviour.
--
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