Memory Leak in 9.0?
-------------------
Key: COUCHDB-325
URL: https://issues.apache.org/jira/browse/COUCHDB-325
Project: CouchDB
Issue Type: Bug
Affects Versions: 0.9
Environment: gentoo linux on c1.medium aws instance
Reporter: Rohit Amarnath
Priority: Minor
Fix For: 0.9
I am using couchrest to transform a document from one database to another
(millions of records). The memory usage continues to increase till all the
memory is used. The process occasionally fails, but usually completes. I dont
know enough about ruby/couchrest/couchdb to be able to tell you where the
memory is increasing from - but if you give me some direction, I will be happy
to take a look.
If I comment out the save, it seems ok.
Here is the code:
--------------------------------
require 'rubygems'
require 'couchrest'
@db = CouchRest.database!("http://127.0.0.1:5984/xfpds_2008")
@db2 = CouchRest.database!("http://127.0.0.1:5984/fpds_2008")
@streamer = CouchRest::Streamer.new(@db)
@streamer.view("_all_docs") do |row|
begin
doc = @db.get(row["id"])
# remove id so the new database gets fresh document
doc.delete("_id")
doc.delete("_rev")
# change badgerfish notation to assign $ key value to parent
doc["amounts"]["obligatedAmount"] = doc["amounts"]["obligatedAmount"]["$"]
doc["amounts"]["baseAndAllOptionsValue"] =
doc["amounts"]["baseAndAllOptionsValue"]["$"]
doc["amounts"]["baseAndExercisedOptionsValue"] =
doc["amounts"]["baseAndExercisedOptionsValue"]["$"]
...... A whole bunch of fields
# save the document using bulk save
response = @db2.save_doc(doc,true)
rescue
# if streamer ends, save last few documents
@db2.bulk_save
end
end
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.