Hi Simon, I wouldn't skip the deleted documents, a deleted doc could just as
easily be the one missing in the ID index. When you lookup a deleted document
you should see "reason":"deleted" instead of the "reason":"missing" that you
get if the ID is not in the index at all. Then again, if you see that only
ever see deleted docs after retrieving the full _changes then a deleted doc is
probably not the source of your troubles.
Can you confirm that the number of rows in the changes feed is equal to
doc_count + doc_del_count from db.info()? Best,
Adam
On Aug 11, 2011, at 12:08 PM, Simon Eisenmann wrote:
> Hi Adam,
>
> i wrote a short python script, which loads the complete changes feed and
> requests all of the documents not marked "deleted" using HTTP HEAD
> requests. Though i only find documents which have been deleted after i
> have retrieved the complete changes view (takes a while for large
> databases), and never the same.
>
> So again no luck here in finding the problems.
>
> Any more suggestions? Is there a way to rebuild the complete database
> file (maybe offline?).
>
> Thank you and best regards
> Simon
>
>
> ps: The script i have been using is attached.
>
>
>
> Am Dienstag, den 09.08.2011, 16:10 -0400 schrieb Adam Kocoloski:
>> Hi Simon, CouchDB 1.1.0 includes a recent optimization to
>> _changes?include_docs=true which allows it to skip a lookup in the id tree
>> and instead load the document body from the pointer in the sequence tree.
>> In that case you wouldn't notice any missing entry in the id tree. You
>> would notice it, however, if you did direct lookups for each document.
>> Apologies for the outdated instructions. Can you try looking up the
>> documents in a separate request and see if the results change?
>>
>> Adam
>>
>> On Aug 9, 2011, at 5:49 AM, Simon Eisenmann wrote:
>>
>>> Hi Adam,
>>>
>>> i just checked the whole _changes feed (since=0) and could not find any
>>> document "missing" when using "include_docs=true".
>>>
>>> The database in itself has only around 30 documents, so should be quite
>>> small. Though there are lots of creations and deletions happening all
>>> the time. Thus it its daily purged and compacted.
>>>
>>> So - the changes feed is of no help. Any other idea?
>>>
>>> Thank you and best regards
>>> Simon
>>>
>>> Am Montag, den 08.08.2011, 13:25 -0400 schrieb Adam Kocoloski:
>>>> Hi Simon, I think my amended instructions to Mike are still a sensible way
>>>> to debug/workaround the problem. Reiterating (96282148 was the last seq
>>>> Mike observed in the Futon status for the compaction):
>>>>
>>>>> 1) What you really want are the last 1000 Ids in the seq_tree prior to
>>>>> the compactor crash. So maybe something like
>>>>>
>>>>> GET /iris/_changes?descending=true&limit=1000&since=96282148
>>>>
>>>>> 2) Figure out which of those entries are missing from the id tree, e.g.
>>>>> lookup the document and see if the response is {"not_found":"missing"}.
>>>>> You could also try using include_docs=true on the _changes feed to
>>>>> accomplish the same.
>>>>
>>>>> 3) Once you've identified the problematic IDs, try creating them again.
>>>>> You might end up introducing duplicates in the _changes feed, but if you
>>>>> do there's a procedure to fix that.
>>>>
>>>> Regards, Adam
>>>>
>>>> On Aug 8, 2011, at 12:31 PM, Simon Eisenmann wrote:
>>>>
>>>>> Hi Guys,
>>>>>
>>>>> i have a couple of CouchDB instances which started to be come
>>>>> unpackable. It shows this error:
>>>>>
>>>>> [Mon, 08 Aug 2011 16:16:27 GMT] [info] [<0.10808.123>] Starting
>>>>> compaction for db "database1"
>>>>> [Mon, 08 Aug 2011 16:16:45 GMT] [error] [<0.10808.123>] ** Generic
>>>>> server <0.10808.123> terminating
>>>>> ** Last message in was {'EXIT',<0.30396.143>,
>>>>> {function_clause,
>>>>> [{couch_db_updater,'-copy_docs/4-fun-2-',
>>>>> [not_found,
>>>>> {db,<0.10807.123>,<0.10808.123>,nil,
>>>>> <<"1312767347007568">>,<0.10805.123>,
>>>>> <0.10809.123>,
>>>>> {db_header,5,6340261,0,
>>>>> {7198006895,{65952,10145}},
>>>>> {7198010315,76813},
>>>>> {7198051016,[]},
>>>>> 364,7050915618,nil,1000},
>>>>> 6340261,
>>>>> {btree,<0.10805.123>,
>>>>> {7198006895,{65952,10145}},
>>>>> #Fun<couch_db_updater.10.19222179>,
>>>>> #Fun<couch_db_updater.11.21515767>,
>>>>> #Fun<couch_btree.5.124754102>,
>>>>> #Fun<couch_db_updater.12.93888648>},
>>>>> {btree,<0.10805.123>,
>>>>> {7198010315,76813},
>>>>> #Fun<couch_db_updater.13.40165027>,
>>>>> #Fun<couch_db_updater.14.82810239>,
>>>>> #Fun<couch_btree.5.124754102>,
>>>>> #Fun<couch_db_updater.15.104121193>},
>>>>> {btree,<0.10805.123>,
>>>>> {7198051016,[]},
>>>>> #Fun<couch_btree.0.83553141>,
>>>>> #Fun<couch_btree.1.30790806>,
>>>>> #Fun<couch_btree.2.124754102>,nil},
>>>>> 6340261,<<"spreedcom_accounts_1">>,
>>>>> "/var/lib/couchdb/database1.couch",[],
>>>>> [],nil,
>>>>> {user_ctx,null,[],undefined},
>>>>> nil,1000,
>>>>> [before_header,after_header,on_file_open],
>>>>> false},
>>>>> <0.30397.143>]},
>>>>> {lists,map,2},
>>>>> {lists,map,2},
>>>>> {couch_db_updater,copy_docs,4},
>>>>> {couch_db_updater,'-copy_compact/3-fun-0-',6},
>>>>> {couch_btree,stream_kv_node2,8},
>>>>> {couch_btree,stream_kp_node,7},
>>>>> {couch_btree,fold,4}]}}
>>>>>
>>>>>
>>>>> ... lots of more similar errors following.
>>>>>
>>>>> In this mailing list i have found a similar issue from the beginning of
>>>>> this year (Fri, 31 Dec 2010 12:38:18), though without a solution.
>>>>>
>>>>> This database got purged a lot and has constant changes. So pretty
>>>>> similar from the older topic. So i assume there is something wrong in
>>>>> the database file related to previous purges. So looks like some bug
>>>>> here.
>>>>>
>>>>> So - any hints how to fix this? The database is getting pretty large and
>>>>> has to be packed from time to time.
>>>>>
>>>>> CouchDB is running with Version 1.1.0 on Linux 64bit. The database has
>>>>> initially been created with CouchDB 1.0.1 - though the issue appeared a
>>>>> couple of weeks ago (packing has been working with 1.1.0 before.
>>>>>
>>>>>
>>>>> Thank you and best regards
>>>>> Simon
>>>>>
>>>>>
>>>>> --
>>>>> Simon Eisenmann
>>>>>
>>>>> [ mailto:[email protected] ]
>>>>>
>>>>> [ struktur AG | Kronenstraße 22a | D-70173 Stuttgart ]
>>>>> [ T. +49.711.896656.0 | F.+49.711.89665610 ]
>>>>> [ http://www.struktur.de | mailto:[email protected] ]
>>>>
>>>
>>> --
>>> Simon Eisenmann
>>>
>>> [ mailto:[email protected] ]
>>>
>>> [ struktur AG | Kronenstraße 22a | D-70173 Stuttgart ]
>>> [ T. +49.711.896656.68 | F.+49.711.89665610 ]
>>> [ http://www.struktur.de | mailto:[email protected] ]
>>
>
> --
> Simon Eisenmann
>
> [ mailto:[email protected] ]
>
> [ struktur AG | Kronenstraße 22a | D-70173 Stuttgart ]
> [ T. +49.711.896656.68 | F.+49.711.89665610 ]
> [ http://www.struktur.de | mailto:[email protected] ]
> <repaircompact.py>