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

Benedict edited comment on CASSANDRA-10202 at 11/6/15 6:10 PM:
---------------------------------------------------------------

Overall it cleans up a number of things. I've pushed a version 
[here|https://github.com/belliottsmith/cassandra/tree/10202] which modifies the 
underlying semantics a little to, IMO, _conceptually_ simplify things further. 
It does so by combining all three "parts" of the segment management into a 
single list - the current segment simply always being the last or penultimate 
segment in the list. This also permits a return to lock-free segment swapping. 
It does introduce extra code since we now have a linked-list to maintain, so 
it's not absolutely a simplification, so it is debatable if it is an 
improvement.

>From my recollection, there was a bug with {{discard}} having the potential to 
>be called twice if two flushes overlapped, which has been fixed. I can't 
>recall if there were any other issues, but if there were, I fixed them in this 
>branch also. 

I've not had time to self-review my changes, but I'm going on holiday for a 
while so figured I would post it in advance of that.


was (Author: benedict):
Overall it cleans up a number of things. I've pushed a version 
[here|https://github.com/belliottsmith/cassandra/tree/10202] which modifies the 
underlying semantics a little to, IMO, _conceptually_ simplify things a little. 
It does so by combining all three "parts" of the segment management into a 
single list - the current segment simply always being the last or penultimate 
segment in the list. This also permits a return to lock-free segment swapping. 
It does introduce extra code since we now have a linked-list to maintain, so 
it's not absolutely a simplification, so it is debatable if it is an 
improvement.

>From my recollection, there was a bug with {{discard}} having the potential to 
>be called twice if two flushes overlapped, which has been fixed. I can't 
>recall if there were any other issues, but if there were, I fixed them in this 
>branch also. 

I've not had time to self-review my changes, but I'm going on holiday for a 
while so figured I would post it in advance of that.

> simplify CommitLogSegmentManager
> --------------------------------
>
>                 Key: CASSANDRA-10202
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-10202
>             Project: Cassandra
>          Issue Type: Improvement
>            Reporter: Jonathan Ellis
>            Assignee: Branimir Lambov
>            Priority: Minor
>
> Now that we only keep one active segment around we can simplify this from the 
> old recycling design.



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

Reply via email to