[
https://issues.apache.org/jira/browse/OAK-4582?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16127134#comment-16127134
]
Francesco Mari commented on OAK-4582:
-------------------------------------
OAK-6457 introduced the {{SegmentData}} interface as a way to encapsulate the
the underlying storage format of the segment. {{SegmentData}} is a low level
abstraction that resonates with the work done in this issue. In fact,
{{SegmentData}} is very similar to {{SegmentReader}}. Like {{SegmentReader}},
{{SegmentData}} provides read-only access to the segment, and could be used,
with the proper adaptations, as the foundation for {{RawRecordReader}}.
Differently than in this issue, OAK-6457 ignored the problem of writing a
segment. That responsibility is still carried on by {{SegmentBufferWriter}},
which the {{SegmentWriter}} introduced by this issue intends to replace. The
work done by this issue should either take inspiration from or be adapted to
OAK-6457.
> Split Segment in a read-only and a read-write implementations
> -------------------------------------------------------------
>
> Key: OAK-4582
> URL: https://issues.apache.org/jira/browse/OAK-4582
> Project: Jackrabbit Oak
> Issue Type: Technical task
> Components: segment-tar
> Reporter: Francesco Mari
> Assignee: Francesco Mari
> Labels: technical_debt
> Fix For: 1.8
>
> Attachments: benchmark-01.png, benchmark-01.txt
>
>
> {{Segment}} is central to the working of the Segment Store, but it currently
> serves two purposes:
> # It is a temporary storage location for the currently written segment,
> waiting to be full and flushed to disk.
> # It is a way to parse serialzed segments read from disk.
> To distinguish these two use cases, I suggest to promote {{Segment}} to the
> status of interface, and to create two different implementations for a
> read-only and a read-write segments.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)