Eric B. Ridge
2004-Jun-21 14:23 UTC
[Xapian-discuss] DatabaseCorruptError using CVS Snapshot from 6/17/2004
Well, I *think* we've moved passed the threading/concurrency issues (Xapian CVS snapshot plus a better synchronization scheme via Java), but now we're getting this gem: org.xapian.errors.DatabaseCorruptError: Expected another key with the same term name but found a different one at org.xapian.XapianJNI.writabledatabase_flush(Native Method) What does this mean? What causes it? How do we fix it? This is occurring with the Xapian CVS snapshot Olly pointed me to last week (dated 6/17/2004), on our Dual Hyperthreaded Xeon server. Quartzcheck says the database is just fine: # /usr/local/bin/quartzcheck xxxxx record: base65 Revision *800 levels 2 root [6] blocksize 8192 items 96842 lastblock 6554 B-tree checked okay postlist: base65 Revision *800 levels 2 root [12] blocksize 8192 items 675806 lastblock 27318 B-tree checked okay Postlist structure checked OK termlist: base65 Revision *800 levels 2 root [15518] blocksize 8192 items 96841 lastblock 38806 B-tree checked okay position: base65 Revision *800 levels 2 root [70427] blocksize 8192 items 17692647 lastblock 96325 B-tree checked okay value: base65 Revision *800 levels 1 root [404] blocksize 8192 items 96841 lastblock 766 B-tree checked okay Any ideas? eric
Olly Betts
2004-Jun-21 14:44 UTC
[Xapian-discuss] DatabaseCorruptError using CVS Snapshot from 6/17/2004
On Mon, Jun 21, 2004 at 10:23:02AM -0400, Eric B. Ridge wrote:> Well, I *think* we've moved passed the threading/concurrency issues (Xapian > CVS snapshot plus a better synchronization scheme via Java), but now we're > getting this gem: > > org.xapian.errors.DatabaseCorruptError: Expected another key with the same > term name but found a different one > at org.xapian.XapianJNI.writabledatabase_flush(Native Method) > > What does this mean? What causes it? How do we fix it?A long posting list is split into chunks, the last of which has a "this is the last chunk" flag set. This error means that there doesn't seem to be such a "last chunk".> This is occurring with the Xapian CVS snapshot Olly pointed me to last week > (dated 6/17/2004), on our Dual Hyperthreaded Xeon server.I incorrect cleaned up some code (since 0.8.0) which resulted in this error. The patch was partly backed out on 17th, and the rest last night (I failed to notice it didn't cleanly apply the first time - d'oh!) So try updating to the latest CVS snapshot.> Quartzcheck says the database is just fine:That's probably because the exception means that the broken revision never gets committed. Cheers, Olly