GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  SLONIK_WAIT_FOR_EVENT (7)

NAME

WAIT FOR EVENT - Have Slonik script wait for previous event to complete

CONTENTS

Synopsis

SYNOPSIS

WAIT FOR EVENT (options);

DESCRIPTION

Waits for event Confirmation.

Slonik remembers the last event generated on every node during script execution (events generated by earlier calls are currently not checked). In certain situations it is necessary that events generated on one node (such as CREATE SET) are processed on another node before issuing more commands (for instance, SLONIK SUBSCRIBE SET(7)). WAIT FOR EVENT may be used to cause the slonik script to wait for confirmation of an event, which hopefully means that the subscriber node is ready for the next action.

WAIT FOR EVENT must be called outside of any try block in order to work, since new confirm messages don’t become visible within a transaction.
ORIGIN = ival | ALL
  The origin of the event(s) to wait for.
CONFIRMED = ival | ALL
  The node ID of the receiver that must confirm the event(s).
WAIT ON = ival
  The ID of the node where the sl_confirm table is to be checked.
TIMEOUT = ival
  The number of seconds to wait. Default is 600 (10 minutes). TIMEOUT = 0 causes the script to wait indefinitely.

EXAMPLE

WAIT FOR EVENT (
  ORIGIN = ALL,
  CONFIRMED = ALL,
  WAIT ON = 1
);
   

LOCKING BEHAVIOUR

No application-visible locking should take place.

VERSION INFORMATION

This command was introduced in Slony-I 1.0

In version 2.0, the default value for WAIT ON was removed, so a node must be specified.

ODDITIES

Not all events return interesting results. For instance, many people have run afoul of problems with SLONIK SUBSCRIBE SET(7), when subscribing a new set. Be aware (and beware!) that a SLONIK SUBSCRIBE SET(7) request will return the event confirmation almost immediately, even though there might be several hours of work to do before the subscription is ready. The trouble with SLONIK SUBSCRIBE SET(7) is that it is processed as two events, one on the origin node, with a second event, to enable the subscription, on the subscriber.

In order to more reliably monitor from within a slonik(1) script that SLONIK SUBSCRIBE SET(7) is complete, you may submit a SLONIK SYNC(7) event after the subscription, and have the WAIT request wait on the SYNC event, as follows.

     # Assuming that node 1 is the origin for set 999 that has direct subscribers 2 and 3
     SUBSCRIBE SET (ID = 999, PROVIDER = 1, RECEIVER = 2);
     WAIT FOR EVENT (ORIGIN = 1, CONFIRMED = ALL, WAIT ON=1);
     SUBSCRIBE SET (ID = 999, PROVIDER = 1, RECEIVER = 3);
     WAIT FOR EVENT (ORIGIN = 1, CONFIRMED = ALL, WAIT ON=1);
     MERGE SET ( ID = 1, ADD ID = 999, ORIGIN = 1 );
   

Search for    or go to Top of page |  Section 7 |  Main Index


SLONIK WAIT FOR EVENT (7) 18 January 2015

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.