Subject: Re: [sup-devel] error after leveldb-ruby upgrade

From: William Morgan <[email-masked]>
Date: Mon, 18 Jul 2011 04:21:18 +0000

Reformatted excerpts from Hamish D's message of 2011-07-17:
> Is there any way to recover from the error? Or do I just have to
> delete it all and start again?

LevelDB provides a recovery function. I'm not sure how well it works.
Give me a day or two to export it with the ruby bindings, and you can
give it a try.
-- 
William <[email-masked]>
_______________________________________________
Sup-devel mailing list
[email-masked]
http://rubyforge.org/mailman/listinfo/sup-devel

---

From: Hamish D <[email-masked]>
Date: Sun, 17 Jul 2011 23:51:55 +0100

On 17 July 2011 21:05, William Morgan <[email-masked]> wrote:
>> $ heliotrope-server -d ~/.heliotrope
>> /var/lib/gems/1.9.1/gems/leveldb-ruby-0.7/lib/leveldb.rb:11:in `make':
>> Corruption: checksum mismatch (LevelDB::Error)
>
> If you downgrade to 0.6, do you still get that error? Are you running
> out of disk space, or anything like that?

I still get that error with 0.6 (and 0.5) so I guess there must be
corruption :/ I did upgrade straight from 0.5 to 0.7 o the off chance
that made any difference, but I imagine not. On disk space I have
multiple GB to spare, so I don't think that would be it.

Hamish

---

From: Hamish D <[email-masked]>
Date: Sun, 17 Jul 2011 18:42:11 +0100

Hello

I've just done a git pull, and noticed there was a bump in version of
leveldb-ruby, so did a gem update to 0.7.

Then when trying to run heliotrope-add or heliotrope-server, it
immediately dies with:

$ heliotrope-server -d ~/.heliotrope
/var/lib/gems/1.9.1/gems/leveldb-ruby-0.7/lib/leveldb.rb:11:in `make':
Corruption: checksum mismatch (LevelDB::Error)
	from /var/lib/gems/1.9.1/gems/leveldb-ruby-0.7/lib/leveldb.rb:11:in `new'
	from /home/mish/dev/sup/heliotrope/lib/heliotrope/index.rb:45:in `initialize'
	from /home/mish/dev/sup/heliotrope/bin/heliotrope-server:583:in `new'
	from /home/mish/dev/sup/heliotrope/bin/heliotrope-server:583:in `<main>'

Any ideas?
Hamish

---

From: William Morgan <[email-masked]>
Date: Sun, 17 Jul 2011 20:05:27 +0000

> Corruption: checksum mismatch (LevelDB::Error)

That error gets thrown when LevelDB detects things are corrupted, but
I'd be surprised if the upgrade to 0.7 caused this--the only change was
one in how memory in the Ruby world is free'd. None of the actual
LevelDB code changed.