cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "sankalp kohli (JIRA)" <>
Subject [jira] [Created] (CASSANDRA-7359) Optimize locking in PaxosState
Date Thu, 05 Jun 2014 19:56:01 GMT
sankalp kohli created CASSANDRA-7359:

             Summary: Optimize locking in PaxosState
                 Key: CASSANDRA-7359
             Project: Cassandra
          Issue Type: Improvement
            Reporter: sankalp kohli
            Priority: Minor

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

View raw message