[ https://issues.apache.org/jira/browse/OAK-3690?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15890432#comment-15890432 ]
Michael Dürig commented on OAK-3690: ------------------------------------ bq. Segment uses a SegmentIdProvider only to instantiate new instances of SegmentId, one for each referenced segment Good point! I see what I can do about this. Depending on how easy it is I'll include it right away or take it up later. Thanks for reviewing! > Decouple SegmentBufferWriter from SegmentStore > ---------------------------------------------- > > Key: OAK-3690 > URL: https://issues.apache.org/jira/browse/OAK-3690 > Project: Jackrabbit Oak > Issue Type: Technical task > Components: segment-tar > Reporter: Michael Dürig > Assignee: Michael Dürig > Labels: technical_debt > Fix For: 1.8 > > > Currently {{SegmentBufferWriter.flush()}} directly calls > {{SegmentStore.writeSegment()}} once the current segment does not have enough > space for the next record. We should try to cut this dependency as > {{SegmentBufferWriter}} should only be concerned with providing buffers for > segments. Actually writing these to the store should be handled by a higher > level component. > A number of deadlock (e.g. (OAK-2560, OAK-3179, OAK-3264) we have seen is one > manifestation of this troublesome dependency. -- This message was sent by Atlassian JIRA (v6.3.15#6346)