[ 
https://issues.apache.org/jira/browse/CASSANDRA-16261?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ekaterina Dimitrova updated CASSANDRA-16261:
--------------------------------------------
    Test and Documentation Plan: 
Patch committed: 
 *  trunk - 
[1b4e1cc9303414f91535dab10f6342e1c1c6b8ac|https://github.com/apache/cassandra/commit/1b4e1cc9303414f91535dab10f6342e1c1c6b8ac]

 - 3.11 - 
[11cb8104facc4d3455efb73d2701fd5ba510bef1|https://github.com/apache/cassandra/commit/11cb8104facc4d3455efb73d2701fd5ba510bef1]
 - 3.0 - 
[0a1e900a0a042f78d7d5d6625bc98b84eb463e69|https://github.com/apache/cassandra/commit/0a1e900a0a042f78d7d5d6625bc98b84eb463e69]

  
was:https://issues.apache.org/jira/browse/CASSANDRA-16261?focusedCommentId=17262315&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-17262315


> 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

Reply via email to