[Bucardo-general] Test Failures: Serialized Isolation

Greg Sabino Mullane greg at endpoint.com
Wed Oct 24 03:37:02 UTC 2012


So, because we are talking very asynchronously, I want to put the 
proposal out there clearly for everyone. Because a serialization 
error is a known (and frankly expected) event on busy systems, we 
should treat that as very different from all other errors that a 
KID may encounter. Specifically, we need to try again, without 
reporting a serious problem back to the client via listen/notify.

We should continue the sleep setting to be sure, but should it give up 
after X tries? Slowly increment the sleep over time? I'm strongly 
inclined to do neither of those, but thought I should throw it 
out there.

In addition to trying again (whether via cleanup and a goto KID, 
or asking the controller to start up a new kid), we should have a 
new notify that is fired to let listeners know that yeah, the sync 
failed, but it's only a serialization error and we will try again. 
The payload should tell how long we are sleeping, and perhaps some 
other information (e.g. which table it was on when this occurred).
By "listener" I basically mean the bucardo program.

Of course, it would be nice to find a good way to cause serialization 
errors on demand for the test suite; I seem to recall trying to do 
so once and fialing, but I'm sure it is possible somehow.

-- 
Greg Sabino Mullane greg at endpoint.com
End Point Corporation
PGP Key: 0x14964AC8
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 163 bytes
Desc: not available
URL: <https://mail.endcrypt.com/pipermail/bucardo-general/attachments/20121023/27e6b4cb/attachment.sig>


More information about the Bucardo-general mailing list