[
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)
