On 8/21/2013 9:46 AM, Ludwig Krispenz wrote:
we don't have dedicated threads for read or write operations, in
theory writes should not block reads, but if the write threads queue
up for the backend lock there might be no threads available to do the
reads
I wasn't taking about threads. It is not true that writes can't block
reads. You might say that /typically /writes won't block reads. However
there are several reasons (including the one I gave -- the read wants
I/O that ends up delayed behind I/O ops initiated by writes) why reads
can be blocked by concurrent write activity. As Rich mentioned also, a
write txn can acquire exclusive locks on DB pages that the read
subsequently touches.