Details
-
Improvement
-
Status: Resolved
-
Low
-
Resolution: Later
-
None
-
None
-
None
Description
...when a Memtable reaches its threshold, up to (all) N write threads will often notice, and race to acquire the writeLock in order to freeze the memtable. This means that we do way more writeLock acquisitions than we need to...
See CASSANDRA-1930 for backstory, but adding double checking inside a read lock before trying to re-entrantly acquire the writelock would eliminate most of these excess writelock acquisitions.
Alternatively, we should explore removing locking from these structures entirely, and replacing the writeLock acquisition with a per-memtable counter of active threads.
Attachments
Attachments
Issue Links
- relates to
-
CASSANDRA-1930 db.Table flusherLock write lock fairness policy is sub-optimal
- Resolved