couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Filipe David Manana <fdman...@gmail.com>
Subject Re: _revs_limit and _compact in 0.11
Date Tue, 08 Jun 2010 15:54:39 GMT
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 <ejohnson82@gmail.com> 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:foobar@127.0.0.40:5984/testing-compaction
> {"ok":true}
> $ curl -XPUT
> http://erick:foobar@127.0.0.40:5984/testing-compaction/_revs_limit -d
> "100"
> {"ok":true}
> $ curl http://erick:foobar@127.0.0.40:5984/testing-compaction/_revs_limit
> 100
> $ curl -XPOST
> http://erick:foobar@127.0.0.40:5984/testing-compaction/_compact
> {"ok":true}
> $ curl http://erick:foobar@127.0.0.40: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,
fdmanana@gmail.com

"Reasonable men adapt themselves to the world.
Unreasonable men adapt the world to themselves.
That's why all progress depends on unreasonable men."

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message