Christopher Browne cbbrowne
Tue Jul 11 14:13:14 PDT 2006
One wild-eyed idea came up in the discussions of the last week...

Is it possible that there might be some small value to the notion of
running certain operations via 2PC?

For instance, EXECUTE SCRIPT has historically been somewhat risky, if
not accompanied by fairly extreme operational discipline; a thought
could be to run it something like the following:

- Slonik request comes in for EXECUTE SCRIPT (..., with 2pc); 

- We submit the event on the origin node; if all seems good, we run
  PREPARE TRANSACTION rather than COMMIT

- On each node, the same happens.  If all seems good, rather than
  COMMIT, we run PREPARE transaction.

- The slonik script then awaits success or failure on all nodes.

There are two choices:
 - If all nodes got to do a PREPARE TRANSACTION, then run COMMIT
   PREPARED on each node.

 - If any node had a failure, then run ROLLBACK PREPARED on each node.

Only any good if all nodes are running 8.1+...
-- 
(reverse (concatenate 'string "ofni.sailifa.ac" "@" "enworbbc"))
<http://dba2.int.libertyrms.com/>
Christopher Browne
(416) 673-4124 (land)



More information about the Slony1-general mailing list