You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Francesco Mari (JIRA)" <ji...@apache.org> on 2017/08/15 12:21:01 UTC
[jira] [Commented] (OAK-4582) Split Segment in a read-only and a
read-write implementations
[ 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)