[
https://issues.apache.org/jira/browse/OAK-4243?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15252035#comment-15252035
]
Tomek Rękawek edited comment on OAK-4243 at 4/21/16 3:26 PM:
-------------------------------------------------------------
We had a few cases in which the SegmentMK or MongoMK introduced a changes in
the repository format, which made the repository incompatible with the previous
Oak versions. Usually the repository code itself takes care of converting the
old repository to the new format during the first startup.
However, this is slightly different, as the oak-segment-new can be treated as a
new repository format. It shouldn't be hard to support it in the oak-upgrade,
so the tool can be used to convert repositories between the old and the new
format (and the other way around).
-I see just one problem here - in order to do this, oak-upgrade will require
dependencies both to the old and the new Maven module. The Java package names
are the same, so there'll be a conflict between different version of classes.-
-If we want the oak-upgrade to support migration between the old and the new
SegmentMK, the Java package names have to be changed - either in the old or the
new module.-
was (Author: tomek.rekawek):
We had a few cases in which the SegmentMK or MongoMK introduced a changes in
the repository format, which made the repository incompatible with the previous
Oak versions. Usually the repository code itself takes care of converting the
old repository to the new format during the first startup.
However, this is slightly different, as the oak-segment-new can be treated as a
new repository format. It shouldn't be hard to support it in the oak-upgrade,
so the tool can be used to convert repositories between the old and the new
format (and the other way around).
I see just one problem here - in order to do this, oak-upgrade will require
dependencies both to the old and the new Maven module. The Java package names
are the same, so there'll be a conflict between different version of classes.
*If we want the oak-upgrade to support migration between the old and the new
SegmentMK, the Java package names have to be changed - either in the old or the
new module.*
> Oak Segment Next Module
> -----------------------
>
> Key: OAK-4243
> URL: https://issues.apache.org/jira/browse/OAK-4243
> Project: Jackrabbit Oak
> Issue Type: Epic
> Components: segment-next
> Reporter: Michael Dürig
> Assignee: Michael Dürig
> Fix For: 1.6
>
>
> There is a couple of issues requiring us to change the segment format in a
> non compatible way (OAK-3348, OAK-2896, OAK-2498, OAK-4201).
> We should introduce a new module here
> * to minimise ripple effect on concurrent development work in other parts of
> Oak and upstream projects
> * to be able to cleanly migrate existing repositories via a side grading
> * to cleanly separate breaking changes from the existing code base
> The plan is roughly to:
> * Create new module (called {{oak-segment-next}} for now, will discuss names
> later)
> * Apply patch prepared for OAK-3348
> * Discuss and decide on final name and refactor accordingly
> * Reactor affected tooling such that the targeted segment store can be
> specified via an option. Keep default at {{oak-segment}}.
> * Once sufficiently stabilised, deprecate {{oak-segment}}. Make this one the
> default in switch the default target for tooling.
> * Define and implement migration path
> I will create respective issues as needed.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)