[ https://issues.apache.org/jira/browse/CASSANDRA-16261?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17262315#comment-17262315 ]
Ekaterina Dimitrova edited comment on CASSANDRA-16261 at 1/10/21, 11:16 PM: ---------------------------------------------------------------------------- 3.0 patch prepared [here |https://github.com/ekaterinadimitrova2/cassandra/pull/81]. In case we agree this is the final outcome wanted, I will propagate to the rest of the C* versions CI run on low res [here |https://app.circleci.com/pipelines/github/ekaterinadimitrova2/cassandra/556/workflows/981d1c0c-b225-4514-b0f9-6218d08eb5f7] was (Author: e.dimitrova): 3.0 patch prepared [here |https://github.com/ekaterinadimitrova2/cassandra/pull/81]. In case we agree this is the final outcome wanted, I will propagate to the rest of the versions CI run on low res [here |https://app.circleci.com/pipelines/github/ekaterinadimitrova2/cassandra/556/workflows/981d1c0c-b225-4514-b0f9-6218d08eb5f7] > Prevent unbounded number of flushing tasks > ------------------------------------------ > > Key: CASSANDRA-16261 > URL: https://issues.apache.org/jira/browse/CASSANDRA-16261 > Project: Cassandra > Issue Type: Bug > Components: Legacy/Local Write-Read Paths > Reporter: Ekaterina Dimitrova > Assignee: Ekaterina Dimitrova > Priority: Normal > Fix For: 3.0.x, 3.11.x, 4.0-beta > > > The cleaner thread is not prevented from queueing an unbounded number of > flushing tasks for memtables that are almost empty. > This patch adds a mechanism to track the number of pending flushing > tasks in the memtable cleaner. Above the maximum number (2x the flushing > threads by default), only memtables using at least MCT memory will be > flushed, where MCT stands for Memory Cleanup Threshold. > This patch also fixes a possible problem tracking the memory marked as > "reclaiming" in the memtable allocators and pool. Writes that complete > only after a memtable has been scheduled for flushing, did not report > their memory as reclaiming. Normally this should be a small value of no > consequence, but if the flushing tasks are blocked for a long period, > and there is a sufficient number of writes, or these writes use > a sufficiently large quantity of memory, this would cause the memtable > cleaning algorithm to schedule repeated flushing tasks because the used > memory is always > reclaiming memory + MCT. -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org For additional commands, e-mail: commits-h...@cassandra.apache.org