[ 
https://issues.apache.org/jira/browse/CASSANDRA-11739?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15287631#comment-15287631
 ] 

Paulo Motta commented on CASSANDRA-11739:
-----------------------------------------

Attaching patch that does not keep {{SSTableReader}} references for the 
duration of repair, but sstable filenames instead, allowing obsoleted 
{{SSTableReaders}} to be garbage collected. At anticompaction time, we iterate 
over all readers and reference only those that were added to the parent repair 
session and are still active. Added unit test on {{ActiveRepairServiceTest}} to 
verify that active repaired {{SSTableReaders}} are being returned.

this will help keep inc. repair memory usage low before CASSANDRA-8858 (which 
should be added to 3.0+).

||2.1||2.2||3.0||3.7||trunk||
|[branch|https://github.com/apache/cassandra/compare/cassandra-2.1...pauloricardomg:2.1-11739]|[branch|https://github.com/apache/cassandra/compare/cassandra-2.2...pauloricardomg:2.2-11739]|[branch|https://github.com/apache/cassandra/compare/cassandra-3.0...pauloricardomg:3.0-11739]|[branch|https://github.com/apache/cassandra/compare/cassandra-3.7...pauloricardomg:3.7-11739]|[branch|https://github.com/apache/cassandra/compare/trunk...pauloricardomg:trunk-11739]|
|[testall|http://cassci.datastax.com/view/Dev/view/paulomotta/job/pauloricardomg-2.1-11739-testall/lastCompletedBuild/testReport/]|[testall|http://cassci.datastax.com/view/Dev/view/paulomotta/job/pauloricardomg-2.2-11739-testall/lastCompletedBuild/testReport/]|[testall|http://cassci.datastax.com/view/Dev/view/paulomotta/job/pauloricardomg-3.0-11739-testall/lastCompletedBuild/testReport/]|[testall|http://cassci.datastax.com/view/Dev/view/paulomotta/job/pauloricardomg-3.7-11739-testall/lastCompletedBuild/testReport/]|[testall|http://cassci.datastax.com/view/Dev/view/paulomotta/job/pauloricardomg-trunk-11739-testall/lastCompletedBuild/testReport/]|
|[dtest|http://cassci.datastax.com/view/Dev/view/paulomotta/job/pauloricardomg-2.1-11739-dtest/lastCompletedBuild/testReport/]|[dtest|http://cassci.datastax.com/view/Dev/view/paulomotta/job/pauloricardomg-2.2-11739-dtest/lastCompletedBuild/testReport/]|[dtest|http://cassci.datastax.com/view/Dev/view/paulomotta/job/pauloricardomg-3.0-11739-dtest/lastCompletedBuild/testReport/]|[dtest|http://cassci.datastax.com/view/Dev/view/paulomotta/job/pauloricardomg-3.7-11739-dtest/lastCompletedBuild/testReport/]|[dtest|http://cassci.datastax.com/view/Dev/view/paulomotta/job/pauloricardomg-trunk-11739-dtest/lastCompletedBuild/testReport/]|

commit info: merge conflicts on 2.2 and 3.0. 3.0 merges cleanly upwards.

> Cache key references might cause OOM on incremental repair
> ----------------------------------------------------------
>
>                 Key: CASSANDRA-11739
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-11739
>             Project: Cassandra
>          Issue Type: Bug
>            Reporter: Paulo Motta
>            Assignee: Paulo Motta
>         Attachments: heapdump.png
>
>
> We keep {{SSTableReader}} references for the duration of the repair to 
> anti-compact later, and their tidier keep references to cache keys to be 
> invalidated which are only cleaned up by GC after repair is finished. These 
> cache keys can accumulate while repair is being executed leading to OOM for 
> large tables/keyspaces.
> Heap dump attached.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to