Summary: | slony tutorial + new feature (set add table with a regexp) does not work | ||
---|---|---|---|
Product: | Slony-I | Reporter: | Cédric Villemain <cedric.villemain.debian> |
Component: | slonik | Assignee: | Slony Bugs List <slony1-bugs> |
Status: | NEW --- | ||
Severity: | major | CC: | slony1-bugs |
Priority: | low | ||
Version: | devel | ||
Hardware: | PC | ||
OS: | Linux |
Description
Cédric Villemain
2011-10-18 02:25:20 UTC
it happens that the problem come from the node 2 cascading to node 4. I change the order of store node and it fix the situation. It is maybe expected but slonik should prevent the deadlock here. store node (id=2, event node=1); store node (id=3, event node=1); store path (server = 1, client = 2, conninfo='dbname=slony_bench host=192.168.100.165 user=replicator'); store path (server = 1, client = 3, conninfo='dbname=slony_bench host=192.168.100.165 user=replicator'); store path (server = 2, client = 1, conninfo='dbname=slony_bench host=192.168.100.237 user=replicator'); store path (server = 2, client = 3, conninfo='dbname=slony_bench host=192.168.100.237 user=replicator'); store path (server = 3, client = 1, conninfo='dbname=slony_bench host=192.168.122.111 user=replicator'); store path (server = 3, client = 2, conninfo='dbname=slony_bench host=192.168.122.111 user=replicator'); store node (id=4, event node=2); store path (server = 1, client = 4, conninfo='dbname=slony_bench host=192.168.100.165 user=replicator'); store path (server = 2, client = 4, conninfo='dbname=slony_bench host=192.168.100.237 user=replicator'); store path (server = 3, client = 4, conninfo='dbname=slony_bench host=192.168.122.111 user=replicator'); store path (server = 4, client = 1, conninfo='dbname=slony_bench host=192.168.122.22 user=replicator'); store path (server = 4, client = 2, conninfo='dbname=slony_bench host=192.168.122.22 user=replicator'); store path (server = 4, client = 3, conninfo='dbname=slony_bench host=192.168.122.22 user=replicator'); This is an issue with the tutorial. store node(id=2,event node=1) store node(id=3,event node=1) store node(id=4,event node=2); should not work, with until the third line has been propogated to node 2. Consider these example as why store node(id=2,event node=1) store node(id=3,event node=1) store node(id=3,event node=2); The tutorial should be updated to either use event node=1 or it could be updated to put the store paths in between (In reply to comment #3) > This is an issue with the tutorial. > > store node(id=2,event node=1) > store node(id=3,event node=1) > store node(id=4,event node=2); > > should not work, with until the third line has been propogated to node 2. > > Consider these example as why > > store node(id=2,event node=1) > store node(id=3,event node=1) > store node(id=3,event node=2); > > The tutorial should be updated to either use event node=1 > or it could be updated to put the store paths in between I abused of the tutorial reference here, the tutorial is only for 2 nodes. While I understand why it does not work,maybe slonik can check that there is no 'deadlock' in the slonik script. Checking for deadlock due to missing paths sounds like a good idea. It was discussed when the auto-wait for stuff was proposed but we didn't want to bite off too much at once. Patches always welcome :) |