[ZODB-Dev] blocked transactions?

Jim Fulton jim at zope.com
Wed Oct 13 10:23:07 EDT 2010


On Wed, Oct 13, 2010 at 9:18 AM, Chris Withers <chris at simplistix.co.uk> wrote:
> On 13/10/2010 14:06, Jim Fulton wrote:
>>
>> On Wed, Oct 13, 2010 at 4:02 AM, Chris Withers<chris at simplistix.co.uk>
>>  wrote:
>>>
>>> Hi All,
>>>
>>> What do the following error message mean:
>>>
>>> ------
>>> 2010-10-12T17:05:58 INFO ZEO.StorageServer (24471/192.168.100.100:54407)
>>> Transaction blocked waiting for storage. Clients waiting: 3.
>>> ------
>>>
>>> 2010-10-12T17:07:16 INFO ZEO.StorageServer (24471/192.168.100.105:50112)
>>> Blocked transaction restarted.  Clients waiting: 2
>>>
>>> ...and would ZODB 3.10 help fix them?
>>
>> These aren't error messages. You can tell because they say "INFO".
>
> If you say so ;-)
>
> Their occurences coincided with an app server cluster of 4 clients locking
> up completely...

Did the numbers get much bigger than 3?

In our applications, it's not uncommon to see numbers in the high
single digits even when the system is operating normally.

In 3.10, storage servers don't print these messages for numbers < 4.
They warn between 4 and 9 and generate critical log messages when
the number of waiting transactions exceeds 9.

>
> I would dearly love to know why that happened.

Typically, it's due to a client that votes and fails to call finish.

> Any way to interrogate a
> running zeo server to find out what it thinks it's up to?

You can connect to the monitor port in 3.9 and earlier,
if the monitor port is configured.  In 3.10, the monitor server is
replaced by a ZEO client method, server_status. This tells you
much the same information that's in the log messages.

You almost certainly want to set transaction-timeout in
your server configuration.  This will cause transactions that take too
long to be terminated.  We use a transaction timeout of 300 seconds.

Jim

-- 
Jim Fulton


More information about the ZODB-Dev mailing list