On Wednesday 28 March 2007 18:50, Steve Singer <[EMAIL PROTECTED]> 
wrote:
> If you want to run your execute script on all nodes you just have to
> create an extra replication set that all nodes subscribe to.  The set
> doesn't even need to have any tables you could then submit your execute
> script against that set and it will execute everywhere.  I don't think
> I've tried this but I don't see why it wouldn't work.  If you try this
> with 1.2.8 do you still get your problems running
> alterTableForReplication on the slaves? (If so then there might be
> another problem)

I'm pretty sure it would still cause a problem.  I've tracked the problem 
down to the following; ddlScript_prepare_int only executes on the node if 
it is subscribed to the set, but ddlScript_complete_int runs on all nodes.  
And both run against every table in sl_table when they do run, which 
appears to be fundamentally broken, because some of those tables may not 
need to be modified on a particular node if it doesn't subscribe to their 
set.  

In the particular problem I posted about, I think what is happening is that 
ddlScript_prepare_int is not running, because the node is not subscribed to 
the set, but the DDL change is being applied anyway and then 
ddlScript_complete_int is running and trying to modify tables back for 
replication that weren't changed by ddlScript_prepare_int, because it 
didn't run.  Does that sound correct?

I can certainly fix the ddlScript_prepare_int and  ddlScript_complete_int 
problems.  Probably in conjunction with your remote_worker patch, that 
would fix the problem completely and also make it so that the changes don't 
execute at all on nodes not subscribed to the set (which I guess I agree 
sounds reasonable).  I'm hoping to get some time this weekend to build a 
better test cluster to try the changes out on.


-- 
Canadian workers spend more of their day working to pay taxes than they do 
to feed, clothe, and house their families.  Why keep voting for politicians
who want to spend even more?

_______________________________________________
Slony1-general mailing list
[email protected]
http://lists.slony.info/mailman/listinfo/slony1-general

Reply via email to