http://wiki.postgresql.org/wiki/SlonyBrainstorming#ABORT Initially mentioned by Vivek Khera General point: Fail if replication is behind Reasonable criteria: - event count - "within 3 events is OK" - time interval "behind by no more than 15 seconds is OK" Other Health Criteria - Is node there? - Is replication set there? - Is subscription active? - Run SQL, fail if ERROR
Discussion on list began...http://lists.slony.info/pipermail/slony1-general/2011-January/011459.html http://lists.slony.info/pipermail/slony1-general/2011-January/011459.html
Additional suggestion: Are there any non-SYNC events outstanding? Scripts that modify the cluster configuration may not care about how far a node is behind in data, but definitely need to assume that the current configuration is stable and not altered underneath by older events, that haven't propagated through the cluster. - Jan
Perhaps this should be extended to a fuller "conditional" to mostly replace the present TRY block concept. Have to think about that some more...
As observed in bug #228, there would be some use in having conditionals used to pick between blocks of Slonik code. We're not necessarily going to want to abort.