On Wed, Oct 13, 2010 at 9:18 AM, Chris Withers <ch...@simplistix.co.uk> wrote:
> On 13/10/2010 14:06, Jim Fulton wrote:
>> On Wed, Oct 13, 2010 at 4:02 AM, Chris Withers<ch...@simplistix.co.uk>
>>  wrote:
>>> Hi All,
>>> What do the following error message mean:
>>> ------
>>> 2010-10-12T17:05:58 INFO ZEO.StorageServer (24471/
>>> Transaction blocked waiting for storage. Clients waiting: 3.
>>> ------
>>> 2010-10-12T17:07:16 INFO ZEO.StorageServer (24471/
>>> 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 Fulton
For more information about ZODB, see the ZODB Wiki:

ZODB-Dev mailing list  -  ZODB-Dev@zope.org

Reply via email to