ZEO responsiveness improvement

Bug #143274 reported by Dieter Maurer
2
Affects Status Importance Assigned to Milestone
ZODB
Confirmed
Wishlist
Unassigned

Bug Description

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.

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

Is this still an open issue for the most current ZODB version?

Revision history for this message
Tim Peters (tim-one) wrote :

Status: Pending => Accepted

 Supporters added: tim_one

Revision history for this message
Tim Peters (tim-one) wrote :

Unassigned myself -- I haven't done ZODB work in nearly 3 years :-(

Changed in zope2:
assignee: tim-one → nobody
affects: zope2 → zodb
Revision history for this message
Jim Fulton (jim-zope) wrote :

Now (in 3.10) that ZEO servers are multi-threaded, this is far less of an issue. Each clients will get it's own thread.

Multi-threaded clients might still benefit from running huge transactions in a separate thread, but I'm not sure I care that much at this point. :)

Changed in zodb:
importance: Medium → Low
Jim Fulton (jim-zope)
Changed in zodb:
importance: Low → Wishlist
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Bug attachments

Remote bug watches

Bug watches keep track of this bug in other bug trackers.