Subject Re: [firebird-support] Re: Can't find shared latch error
Author Ann W. Harrison
I wrote

>>On the other hand, you might hit that limit if each
>>transaction modified a different record and all the records
>>happened to be on the same page. But, as I said, I haven't
>>tracked through all the code to see where the limit is
>>enforced.

But the problem is unlikely to have anything to do with writing -
I'm not as familiar with the way SuperServer manages its cache
as I am with Classic and Vulcan. However, when a transaction
makes a change to a page, it gets a very transient exclusive lock
(latch) to make its change, then releases it. The page can stay
in cache until the transaction commits, but the transaction won't
hold a lock (latch) on it.

Similarly, a transaction gets a shared lock (latch) on a page
while reading. Those locks can be released when the transaction
goes to read a different page or do anything else... Now if
the probably actually were with having 20 or more readers on a
page, we'd see it all the time.

So I'm perplexed.

Regards,


Ann