[ 
https://issues.apache.org/jira/browse/OAK-4104?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Michael Dürig updated OAK-4104:
-------------------------------
    Issue Type: Task  (was: Technical task)
        Parent:     (was: OAK-2833)

> Refactor reading records from segments
> --------------------------------------
>
>                 Key: OAK-4104
>                 URL: https://issues.apache.org/jira/browse/OAK-4104
>             Project: Jackrabbit Oak
>          Issue Type: Task
>          Components: segment-tar
>            Reporter: Michael Dürig
>            Priority: Major
>              Labels: technical_debt
>
> We should refactor how records (e.g. node states) are read from segments. 
> Currently this is scattered and replicated across various places. All of 
> which hard coding certain indexes into a byte buffer (see calls to 
> {{Record.getOffset}} for how bad this is). 
> The current implementation makes it very hard to maintain the code and evolve 
> the segment format. We should optimally have one place per segment version 
> defining the format as a single source of truth which is then reused by the 
> various parts in of the SegmentMK, tooling and tests. 
> We should also evaluate 3rd party data serialisation libraries, which could 
> make our lives easier. Focus should be on ease of use, separation of concerns 
> (schema vs. implementation), compactness of format, efficient en/decoding, 
> support for schema evolution. Possible candidates include [protocol 
> buffers|https://developers.google.com/protocol-buffers/] and [Apache 
> Avro|http://avro.apache.org/]. 



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to