Some of the logic in the slon daemon is rather complicated and I was
wondering if anyone is actually using this "feature".
Currently it is possible to subscribe to multiple sets that originate on
the same node through different data providers. Example
+-- node 1 --+ +-- node 2 --+
| origin A | ------ A -------> | sub A |
| origin B | | |
+------------+ +------------+
| |
B A
| |
V V
+-- node 3 --+ +-- node 4 --+
| sub B | ------ B -------> | sub A |
| | | sub B |
+------------+ +------------+
This does create two problems.
1) Node 4 must ensure that both nodes have processed a given SYNC. This
is currently implemented correctly, but causes SYNC retries and
thereby delays.
2) The log rows from data providers 2 and 3 would need to be properly
merged according to their log_actionseq, or data updates could be
applied out of order with respect to tables in different sets. This
is currently NOT implemented right.
I would like to simplify this code and make Slony require that a node
must use the same data provider for all the sets, that originate on
another node. In the above scenario, either 2 or 3 would have to
subscribe both sets and node 4 would have to get both from that node.
It would still be possible to have another set originating on another
node and subscribe to that from a different data provider, like below:
+-- node 1 --+ +-- node 2 --+
| origin A | ----- A,B ------> | sub A |
| origin B | | sub B |
+------------+ +------------+
| |
A A,B
| |
V V
+-- node 3 --+ +-- node 4 --+
| sub A | ------ C -------> | sub A |
| origin C | | sub B |
+------------+ | sub C |
+------------+
If there are no objections to this change, it will most likely appear in
Slony-I version 2.2 which is supposed to go into BETA early next year.
Jan
--
Anyone who trades liberty for security deserves neither
liberty nor security. -- Benjamin Franklin
_______________________________________________
Slony1-general mailing list
[email protected]
http://lists.slony.info/mailman/listinfo/slony1-general