[ 
https://issues.apache.org/jira/browse/OAK-4295?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15256041#comment-15256041
 ] 

Francesco Mari commented on OAK-4295:
-------------------------------------

The idea is to have a manifest file in the top level directory describing 
meta-information about the repository. In example, the version of the binary 
format used for the segments and the format of the TAR files are information 
that should be stored in the manifest file. These information apply to the 
repository as a whole, and it shouldn't be necessary to dig into TARs and 
segments to discover them. The manifest doesn't need to be a binary file. 
Actually, I think it should be encoded in some plain text format. JSON, YAML, 
properties file are all good candidates.

Moreover, the manifest can make it easier to detect old repository folders from 
new ones. A repository created by the older {{oak-segment}} will not have a 
manifest file, while every repository created by {{oak-segment-next}} will have 
one. This simple detection algorithm can be useful in {{oak-run}} to 
auto-create a fixture for the right version of the repository.

> Proper versioning of storage format
> -----------------------------------
>
>                 Key: OAK-4295
>                 URL: https://issues.apache.org/jira/browse/OAK-4295
>             Project: Jackrabbit Oak
>          Issue Type: Task
>          Components: segment-next
>            Reporter: Michael Dürig
>              Labels: resilience, technical_debt
>             Fix For: 1.6
>
>
> OAK-3348 introduced changes to the segment format (which has been bumped to 
> 12 with OAK-4232). However it also changes the format of the tar files (the 
> gc generation of the segments is written to the index file) which would also 
> require proper versioning.
> In a offline discussion [~frm] brought up the idea of adding a manifest file 
> to the store that would specify the format versions of the individual 
> components. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to