On Apr 1, 2006, at 10:08 PM, David Binger wrote: > On Apr 1, 2006, at 12:01 PM, mario ruggier wrote: >> On Apr 1, 2006, at 11:07 AM, mario ruggier wrote: >> >>> def process_hit(self, hit): >>> try: >>> self.get_connection().abort() >> >> Doing this on each hit loses the unsaved session data, so breaks >> login pretty badly. Calling commit() instead seems to function ok, >> but may not be the best thing to do? What would be the better thing >> to call here to force a socket.error if server is down or connection >> is broken? > > Every request response cycle should end with either > a commit or abort, so there should *never* be any > unsaved data around when process_hit is called. > This is here to invalidate any > oids that other clients have changed since since the > last commit/abort called by *this* client. Ah, good. I figured out what was happening in my case... some confusion about which super process_hit() was being called, and I was inadvertently bypassing the one on DurusPublisher. Thus, replacing the last line of the process_hit() I posted earlier, i.e: qp.pub.publish.Publisher.process_hit(self, hit) with: super(Publisher, self).process_hit(hit) makes it all behave as expected. So, I switch back to using abort()...