It's definitely a bug. I am looking at the compaction code, and it doesn't preserve the revs_limit parameter in the compacted DB.
I'll create a JIRA ticket, submit a patch and let you know about it. On Tue, Jun 8, 2010 at 4:24 PM, Erick Johnson <[email protected]> wrote: > Hi all, > > I'm beginning to get familiar with the administrative functions of couchdb > 0.11 > and had a question about rev limits and compaction. In my testing it seems > rev limits are being reset to the default 1000 after I run _compact, even > though the wiki states otherwise: > > "_revs_limit defines a upper bound of document revisions which CouchDB > keeps track of, even after Compaction" > > http://wiki.apache.org/couchdb/HTTP_database_API#Accessing_Database-specific_options > > For instance if I run the following series of curl commands that create a > new db,set the revs limit, get the revs limit, run compact, and get the revs > limit again I see that the revs limit gets reset. > > Searching jira for "_revs_limit" doesn't return any results, so if anyone > could shed any light on the subject for me I would greatly appreciate it. > > Thank you, > > Erick Johnson > > curl and server logs follow.... > > $ curl -XPUT http://erick:[email protected]:5984/testing-compaction > {"ok":true} > $ curl -XPUT > http://erick:[email protected]:5984/testing-compaction/_revs_limit -d > "100" > {"ok":true} > $ curl http://erick:[email protected]:5984/testing-compaction/_revs_limit > 100 > $ curl -XPOST > http://erick:[email protected]:5984/testing-compaction/_compact > {"ok":true} > $ curl http://erick:[email protected]:5984/testing-compaction/_revs_limit > 1000 > > The associated debug level server logs are as follows: > > [debug] [<0.207.0>] 'PUT' /testing-compaction {1,1} > Headers: [{'Accept',"*/*"}, > {'Authorization',"Basic ZXJpY2s6Zm9vYmFy"}, > {'Host',"127.0.0.40:5984"}, > {'User-Agent',"curl/7.15.5 (x86_64-redhat-linux-gnu) > libcurl/7.15.5 OpenSSL/0.9.8b zlib/1.2.3 libidn/0.6.5"}] > [debug] [<0.207.0>] OAuth Params: [] > [info] [<0.207.0>] 127.0.0.40 - - 'PUT' /testing-compaction 201 > [debug] [<0.214.0>] 'PUT' /testing-compaction/_revs_limit {1,1} > Headers: [{'Accept',"*/*"}, > {'Authorization',"Basic ZXJpY2s6Zm9vYmFy"}, > {'Content-Length',"3"}, > {'Content-Type',"application/x-www-form-urlencoded"}, > {'Host',"127.0.0.40:5984"}, > {'User-Agent',"curl/7.15.5 (x86_64-redhat-linux-gnu) > libcurl/7.15.5 OpenSSL/0.9.8b zlib/1.2.3 libidn/0.6.5"}] > [debug] [<0.214.0>] OAuth Params: [] > [info] [<0.214.0>] 127.0.0.40 - - 'PUT' /testing-compaction/_revs_limit 200 > [debug] [<0.227.0>] 'GET' /testing-compaction/_revs_limit {1,1} > Headers: [{'Accept',"*/*"}, > {'Authorization',"Basic ZXJpY2s6Zm9vYmFy"}, > {'Host',"127.0.0.40:5984"}, > {'User-Agent',"curl/7.15.5 (x86_64-redhat-linux-gnu) > libcurl/7.15.5 OpenSSL/0.9.8b zlib/1.2.3 libidn/0.6.5"}] > [debug] [<0.227.0>] OAuth Params: [] > [info] [<0.227.0>] 127.0.0.40 - - 'GET' /testing-compaction/_revs_limit 200 > [debug] [<0.246.0>] 'POST' /testing-compaction/_compact {1,1} > Headers: [{'Accept',"*/*"}, > {'Authorization',"Basic ZXJpY2s6Zm9vYmFy"}, > {'Host',"127.0.0.40:5984"}, > {'User-Agent',"curl/7.15.5 (x86_64-redhat-linux-gnu) > libcurl/7.15.5 OpenSSL/0.9.8b zlib/1.2.3 libidn/0.6.5"}] > [debug] [<0.246.0>] OAuth Params: [] > [info] [<0.218.0>] Starting compaction for db "testing-compaction" > [info] [<0.246.0>] 127.0.0.40 - - 'POST' /testing-compaction/_compact 202 > [debug] [<0.269.0>] Compaction process spawned for db "testing-compaction" > [debug] [<0.80.0>] New task status for testing-compaction: Flushing > [debug] [<0.218.0>] CouchDB swapping files > /home/erick/local/var/lib/couchdb/testing-compaction.couch and > /home/erick/local/var/lib/couchdb/testing-compaction.couch.compact. > [info] [<0.218.0>] Compaction for db "testing-compaction" completed. > [debug] [<0.268.0>] 'GET' /testing-compaction/_revs_limit {1,1} > Headers: [{'Accept',"*/*"}, > {'Authorization',"Basic ZXJpY2s6Zm9vYmFy"}, > {'Host',"127.0.0.40:5984"}, > {'User-Agent',"curl/7.15.5 (x86_64-redhat-linux-gnu) > libcurl/7.15.5 OpenSSL/0.9.8b zlib/1.2.3 libidn/0.6.5"}] > [debug] [<0.268.0>] OAuth Params: [] > [info] [<0.268.0>] 127.0.0.40 - - 'GET' /testing-compaction/_revs_limit 200 > -- Filipe David Manana, [email protected] "Reasonable men adapt themselves to the world. Unreasonable men adapt the world to themselves. That's why all progress depends on unreasonable men."
