[
https://issues.apache.org/jira/browse/OAK-6531?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16125356#comment-16125356
]
Francesco Mari commented on OAK-6531:
-------------------------------------
The work currently done for OAK-6457 is a refactoring encapsulating the
segment's {{ByteBuffer}} in a {{SegmentData}} class. This will allow me to
create a different implementation of {{SegmentData}} for old versions of
segments, which would correctly synthesise the tail generation number and the
compacted flag. The different {{SegmentData}} implementations will be
instantiated transparently depending on the version number of the loaded
segment.
Moreover, the {{org.apache.jackrabbit.oak.segment.file.tar.binaries}} and
{{org.apache.jackrabbit.oak.segment.file.tar.index}} have to be updated to
return the correct synthetic information. Both these packages currently return
zero as synthetic tail generation number and false for the compacted flag.
> Implement rolling upgrade from Oak 1.6
> --------------------------------------
>
> Key: OAK-6531
> URL: https://issues.apache.org/jira/browse/OAK-6531
> Project: Jackrabbit Oak
> Issue Type: New Feature
> Components: segment-tar
> Reporter: Michael Dürig
> Labels: migration, upgrade
> Fix For: 1.8, 1.7.7
>
>
> The segment format changes introduced for tail compaction (OAK-3349) must not
> require an explicit migration step. Instead there should be a rolling
> migration during normal operation.
> Things to consider:
> * Segments from Oak 1.6
> * Changes in tar index formats induced by the segment format changes
> * Changes in gc.log induced by the segment format changes
> * Required changes in the repository manifest and its interpretation
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)