[
https://issues.apache.org/jira/browse/COUCHDB-888?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Adam Kocoloski reassigned COUCHDB-888:
--------------------------------------
Assignee: Damien Katz
Damien, can you review this patch when you have a chance?
> out of memory crash when compacting document with lots of edit branches
> -----------------------------------------------------------------------
>
> Key: COUCHDB-888
> URL: https://issues.apache.org/jira/browse/COUCHDB-888
> Project: CouchDB
> Issue Type: Bug
> Components: Database Core
> Reporter: Adam Kocoloski
> Assignee: Damien Katz
> Attachments:
> 0001-fix-OOME-when-compacting-a-DB-with-many-edit-conflic-v2.patch,
> 0001-fix-OOME-when-compacting-a-DB-with-many-edit-conflic.patch,
> key_tree_backtrace.txt.gz
>
>
> I have a database which will crash CouchDB if I try to compact it. It causes
> beam.smp to use all the memory on the server. I caught it in the act one
> time and sorted the Erlang processes by memory usage. The process spawned to
> do the compaction turned out to be the culprit. I took a backtrace of the
> process and found that it was mapping a very large revision tree. I have
> reason to believe that the document has a large number (~1000s) of edit
> conflicts.
> I think part of the problem may be that the recursion in
> couch_key_tree:map_simple requires each stack space for every iteration. I'm
> not sure if it's possible to rewrite the algorithm in a more memory-friendly
> way given the current tree structure.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.