Comment 0 for bug 143274

Revision history for this message
Dieter Maurer (d.maurer) wrote :

Uploaded: zeo_resp.pat

For huge transactions ZEO spends a long time (in the order of minutes)
in the call to "vote". This makes it irresponsive for other requests,
e.g. probes by monitoring software.

This has been discussed in Dez. 2004 on "zodb-dev" with Jeremy Hylton.

The attached patch (against ZODB 3.2)
lets '_restart' (which causes the long irresponsiveness
periods) execute in a separate thread for huge transactions.

Note that I expect serious problems when an originally delayed operation
results in an exception. If formerly any exceptional case during
execution of the delayed operation including connection close was
handled perfectly, then the execution in a separate thread should
work, too. However, if there were wholes, then formerly
problems simply caused a client disconnected while
now the server may end up not releasing the commit lock.