[ https://issues.apache.org/jira/browse/CASSANDRA-10202?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15340331#comment-15340331 ]
Ariel Weisberg edited comment on CASSANDRA-10202 at 6/20/16 8:23 PM: --------------------------------------------------------------------- Why can't we use mutual exclusion the entire time? The only lock free access we really need is to allocate from the current active segment right? After that can we use double checked locking to deal with swapping in a new segment? I am not against implementing our own, but I think we should set the testing bar somewhere that makes it look like it does what it is supposed to do under concurrent access. Maybe [jcstress|http://openjdk.java.net/projects/code-tools/jcstress/] can help with testing this kind of thing. I am also not a fan of doing the work to implement an intrusive linked list, but not in a generic reusable way. What I don't want to see is a proliferation of custom implementations that are inlined into single use areas. It would be fine if it didn't implement the entire List API to start. was (Author: aweisberg): Why can't we use mutual exclusion the entire time? The only lock free access we really need is to allocate from the current active segment right? After that can we use double checked locking to deal with swapping in a new segment? > simplify CommitLogSegmentManager > -------------------------------- > > Key: CASSANDRA-10202 > URL: https://issues.apache.org/jira/browse/CASSANDRA-10202 > Project: Cassandra > Issue Type: Improvement > Components: Local Write-Read Paths > 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)