[
https://issues.apache.org/jira/browse/CASSANDRA-7359?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14019790#comment-14019790
]
Benedict commented on CASSANDRA-7359:
-------------------------------------
I agree that 1 is likely sufficient, at least for throughput. It's possible
you'll keep latency down slightly with 2, but with a fast network this effect
will most likely be drowned out by gc etc
> Optimize locking in PaxosState
> ------------------------------
>
> Key: CASSANDRA-7359
> URL: https://issues.apache.org/jira/browse/CASSANDRA-7359
> Project: Cassandra
> Issue Type: Improvement
> Reporter: sankalp kohli
> Assignee: Benedict
> Priority: Minor
> Attachments: 7359.txt
>
>
> In PaxosState, we want to lock on same rows and have created 1024 size array
> with java Objects in them to be used for locking.
> We should replace these Objects with some Lock so that we can know whether
> there is contention trying to acquire a lock for different rows.
> We can achieve that by also storing the hash of the row which acquired the
> lock. This will tell us if this needs to be improved.
> Here is an improvement which I was thinking about.
> Say two rows A and B map to the same 1024 bucket which we have. A get the
> lock and B has to wait. Here B can check if his hash is different and create
> a new object and chain it to the other one.
> This looks close to a hashMap with chaining for same key.
> The hard part will be removing the entries no longer being used.
--
This message was sent by Atlassian JIRA
(v6.2#6252)