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

Reply via email to