Daniel Shahaf <danie...@elego.de> writes:

> Philip Martin wrote on Mon, Jun 20, 2011 at 12:01:44 +0100:
>
>> We could change the rep-sharing database access to take the FSFS
>> repository lock.

It probably makes more sense to use a separate rep-sharing lock.

> Hmm.  Intuitively I wouldn't want sqlite writes to have to take the FSFS
> write lock, since I don't want to block commits on them.
>
> But.  SQLite writers block readers, so as long as we write to
> rep-cache.db outside the FSFS write lock (with or without retries) we
> should ensure we don't start readers that hold the FSFS write lock.

Writers blocking readers doesn't seem to be a hard rule with current
SQLite.  With one process stopped in gdb holding a rep-cache write lock
(after write_reps_to_cache has finished) another process can read the
rep-cache and get representations.

-- 
Philip

Reply via email to