You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Benedict Elliott Smith (Jira)" <ji...@apache.org> on 2019/10/22 11:33:00 UTC
[jira] [Created] (CASSANDRA-15367) Memtable memory allocations may
deadlock
Benedict Elliott Smith created CASSANDRA-15367:
--------------------------------------------------
Summary: Memtable memory allocations may deadlock
Key: CASSANDRA-15367
URL: https://issues.apache.org/jira/browse/CASSANDRA-15367
Project: Cassandra
Issue Type: Bug
Components: Local/Commit Log, Local/Memtable
Reporter: Benedict Elliott Smith
Assignee: Benedict Elliott Smith
* Under heavy contention, we guard modifications to a partition with a mutex, for the lifetime of the memtable.
* Memtables block for the completion of all {{OpOrder.Group}} started before their flush began
* Memtables permit operations from this cohort to fall-through to the following Memtable, in order to guarantee a precise commitLogUpperBound
* Memtable memory limits may be lifted for operations in the first cohort, since they block flush (and hence block future memory allocation)
With very unfortunate scheduling
* A contended partition may rapidly escalate to a mutex
* The system may reach memory limits that prevent allocations for the new Memtable’s cohort (C2)
* An operation from C2 may hold the mutex when this occurs
* Operations from a prior Memtable’s cohort (C1), for a contended partition, may fall-through to the next Memtable
* The operations from C1 may execute after the above is encountered by those from C2
--
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