[ https://issues.apache.org/jira/browse/CASSANDRA-8639?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15025606#comment-15025606 ]
Ariel Weisberg commented on CASSANDRA-8639: ------------------------------------------- Proposed change. Adding a limit on the number of bytes was easy. Writing a unit test was not so easy. I refactored CommitLogReplayer so you can spy on the mutations it initiates. Suggestions for a better way to test this new behavior are welcome. |[2.1 code|https://github.com/apache/cassandra/compare/cassandra-2.1...aweisberg:CASSANDRA-8639-2.1?expand=1]|[utests|https://cassci.datastax.com/view/Dev/view/aweisberg/job/aweisberg-CASSANDRA-8639-2.1-testall/]|[dtests|https://cassci.datastax.com/view/Dev/view/aweisberg/job/aweisberg-CASSANDRA-8639-2.1-dtest/]| |[2.2 code|https://github.com/apache/cassandra/compare/cassandra-2.2...aweisberg:CASSANDRA-8639-2.2?expand=1]|[utests|https://cassci.datastax.com/view/Dev/view/aweisberg/job/aweisberg-CASSANDRA-8639-2.2-testall/]|[dtests|https://cassci.datastax.com/view/Dev/view/aweisberg/job/aweisberg-CASSANDRA-8639-2.2-dtest/]| |[3.0 code|https://github.com/apache/cassandra/compare/cassandra-3.0...aweisberg:CASSANDRA-8639-3.0?expand=1]|[utests|https://cassci.datastax.com/view/Dev/view/aweisberg/job/aweisberg-CASSANDRA-8639-3.0-testall/]|[dtests|https://cassci.datastax.com/view/Dev/view/aweisberg/job/aweisberg-CASSANDRA-8639-3.0-dtest/]| > Can OOM on CL replay with dense mutations > ----------------------------------------- > > Key: CASSANDRA-8639 > URL: https://issues.apache.org/jira/browse/CASSANDRA-8639 > Project: Cassandra > Issue Type: Bug > Reporter: T Jake Luciani > Assignee: Ariel Weisberg > Priority: Minor > Fix For: 2.1.x > > > If you write dense mutations with many clustering keys, the replay of the CL > can quickly overwhelm a node on startup. This looks to be caused by the fact > we only ensure there are 1000 mutations in flight at a time. but those > mutations could have thousands of cells in them. > A better approach would be to limit the CL replay to the amount of memory in > flight using cell.unsharedHeapSize() -- This message was sent by Atlassian JIRA (v6.3.4#6332)