Skiplists to the Nth degree

Bron Gondwana brong at fastmail.fm
Thu Jan 3 15:43:47 EST 2008


On Thu, 3 Jan 2008 17:42:17 +0000 (GMT), "David Carter" <dpc22 at cam.ac.uk> said:
> On Wed, 2 Jan 2008, Bron Gondwana wrote:
> 
> > Replying to myself yet again - I guess all you other lucky sods are on 
> > holiday or something :)
> 
> Some of us have been busy reverse engineering other obscure binary file 
> formats. You do seem to have unearthed a lot of separate problems here.

That's OK - I'm off on a month's holiday tomorrow, and I was just setting
myself up to gloat about it!  (ok, so I'll still be online and doing bits
of work for the first 2 weeks - but I'll be with my parents in the bush in
Tasmania where it's all lovely and not as hot as Melbourne in the summer!)

> I'm slightly amazed that things work at all. I was getting the impression 
> that skiplist in 2.3 was less reliable than 2.1.X, but that was probably 
> just the wind was blowing in the right direction. I don't think that a 
> huge amount changed before you started to dig through the code.

I suspect it's more that it was being used for more.  My stupidity in not
checking that the transactions patch had actually been applied is responsible
for the issues appearing again - and it's fast_rename and folder_limit which
aren't in mainline that are actually doing the evil with the locking.

Still the "runs recovery directly after checkpoint, but in a different
process" thing had me puzzled for quite a while... I knew it was still
sitting in there as an unresolved issue.  The SAFE_TO_APPEND dodgyness
really wasn't a big deal.  Just checking for a COMMIT on the end is enough,
all other code being sane - and that's all it actually did.  Well, I guess
a <-1> followed by 4 random bytes would have been acceptable too, but
there's nowhere that's likely to create one of those.\

Bron.
-- 
  Bron Gondwana
  brong at fastmail.fm



More information about the Cyrus-devel mailing list