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

Benedict commented on CASSANDRA-5549:
-------------------------------------

bq. Do we rely on accept returning true before issue, or can we make that 
IllegalState?

It's a necessity of the semantics. For accept() to be properly synchronised 
with issue(), it needs to be called as soon as the Barrier is exposed, so that 
false can happen the instant issue() happens. Probably should have commented 
that better. The semantics of accept remain consistent, though - namely that it 
only returns true for any operations started before the (eventual) issue().

> Remove Table.switchLock
> -----------------------
>
>                 Key: CASSANDRA-5549
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-5549
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Jonathan Ellis
>            Assignee: Benedict
>              Labels: performance
>             Fix For: 2.1
>
>         Attachments: 5549-removed-switchlock.png, 5549-sunnyvale.png
>
>
> As discussed in CASSANDRA-5422, Table.switchLock is a bottleneck on the write 
> path.  ReentrantReadWriteLock is not lightweight, even if there is no 
> contention per se between readers and writers of the lock (in Cassandra, 
> memtable updates and switches).



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to