You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Ekaterina Dimitrova (Jira)" <ji...@apache.org> on 2021/01/10 23:17:00 UTC
[jira] [Comment Edited] (CASSANDRA-16261) Prevent unbounded number
of flushing tasks
[ 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-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org