2009/1/27 Chris Anderson <[email protected]>:
> On Tue, Jan 27, 2009 at 5:30 AM, Matt Goodall <[email protected]> wrote:
>> Hi,
>>
>> Both the wiki, http://wiki.apache.org/couchdb/Compaction, and Futon
>> warn that compacting removes deleted documents. However, a deleted
>> document is still represented in _all_docs_by_seq after compaction.
>
> Perhaps the wording should be more clear. Compaction removes old revs
> of all documents. So in the case of a deleted document, the head rev
> is the one that marks it as deleted, but before compaction, the
> original version of the document (in your example, rev 143469513) is
> kept in the file. After compaction, only the latest rev remains.

Yeah, that was pretty much my understanding of it until I read the
wiki and noticed Futon's warning. (Although I had to double check to
make sure!)

>
> Compaction preserves any conflict-revs as well.

So, if we were to fix the wording, are there any other issues you can
think of other than:

a) old revisions will be removed which may make it difficult to
correct conflicts
b) it can take a very long time on large documents

- Matt


>
>>
>> $ curl -X "PUT" -d "{}" "http://localhost:5984/compaction/doc";
>> {"ok":true,"id":"doc","rev":"143469513"}
>> $ curl -X "DELETE" "http://localhost:5984/compaction/doc?rev=143469513";
>> {"ok":true,"id":"doc","rev":"1135956802"}
>> $ curl -X "POST" "http://localhost:5984/compaction/_compact";
>> {"ok":true}
>> $ curl "http://localhost:5984/compaction/_all_docs_by_seq";
>> {"total_rows":0,"offset":0,"rows":[
>> {"id":"doc","key":2,"value":{"rev":"1135956802","deleted":true}}
>> ]}
>>
>> Presumably, the wiki & Futon are incorrect as it makes complete sense
>> to keep deleted documents around for replication, but I'll wait for a
>> response to this email before I create a ticket.
>>
>> - Matt
>>
>
>
>
> --
> Chris Anderson
> http://jchris.mfdz.com
>

Reply via email to