integrity failure - how to fix?

Benoit Boissinot bboissin at gmail.com
Sun Dec 17 09:35:41 CST 2006


On 12/17/06, Ed Santiago <esm at edsantiago.com> wrote:
> hg log/diff/commit is barfing with:
>
>    abort: integrity check failed on 00changelog.d:1736!
>
> [snip]
>
> Possible cause: multiple simultaneous commits (via procmail)
> on SMP system.  A flood of queued emails got handled at once.
>
> This isn't a critical repository, and I have a backup
> from last night, and I can live with losing today's commits.
> But simply out of principle, is there any way to fix it?
>
> And: I've added a lock to my procmail rule.  But if locking
> truly is the cause of this problem, you might want to make
> sure the Hg locking is SMP-safe...

By the way, we won't prevent your processes from changing file in the
repo, so you have to do some locking (the repo will always be in a
consistent state, but not always the one you expect, for example two
commits may be mixed together).

P_a                          P_b

write to repo
                             write to repo
commit
                             commit


regards,

Benoit


More information about the Mercurial mailing list