-
Notifications
You must be signed in to change notification settings - Fork 21
CNDB-13565: allow to set memtable shard lock fairness via JMX and a system property #1785
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Checklist before you submit for review
|
…ystem property Prior to that change memtable shard lock was always non-fair. This change introduces cassandra.trie.memtable.shard.lock.fairness system property and LockFairness property of org.apache.cassandra.db:type=TrieMemtableConfig JMX object to configure it persistently or on-line. The on-line change is effective once a new memtable is created (i.e. after flush). If forcing flush is not desired one can watch BytesFlushed metric for the table
@@ -152,8 +151,10 @@ public class TrieMemtable extends AbstractAllocatorMemtable | |||
|
|||
@VisibleForTesting | |||
public static final String SHARD_COUNT_PROPERTY = "cassandra.trie.memtable.shard.count"; | |||
public static final String SHARD_LOCK_FAIRNESS_PROPERTY = "cassandra.trie.memtable.shard.lock.fairness"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
maybe move both to CassandraRelevantProperties.java ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(SHARD_COUNT_PROPERTY and SHARD_LOCK_FAIRNESS_PROPERTY)
347a291
to
b1dff71
Compare
|
❌ Build ds-cassandra-pr-gate/PR-1785 rejected by Butler1 new test failure(s) in 3 builds Found 1 new test failures
Found 4 known test failures |
What is the issue
Memtable shard lock (required for
put
) is non-fair. We suspect this leads to elevated latencies in case of bursty load, as in #13565What does this PR fix and why was it fixed
This change introduces
cassandra.trie.memtable.shard.lock.fairness system
property andLockFairness
propertyof
org.apache.cassandra.db:type=TrieMemtableConfig
JMX object to configure it persistently or on-line.The on-line change is effective once a new memtable is created (i.e. after flush). If forcing flush is not desired one can watch
BytesFlushed
metric for the table