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
Attachments: 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.