Postgres-XC Wiki
Register
Advertisement

GTM restart point[]

When GTM fails and GTM slave is not configured, GTM could not simply restart because up to 1.0.3, GTM restart point is refreshed when GTM stops gracefully.   When GTM crashes, restart point remained the same as it started.

Later than 1.1, GTM restart point was improved as follows:

1. When GTM starts, it calculate safe restart point and writes to gtm.control file.  This restart point is a bit advanced value of the next GXID, as well as sequence status, which is safe enough to be used after the crash.

2. When GTM has to assign GXID or sequence value beyond the restart point, it will recalculate the next restart point and writes back to gtm.control file.

3. When GTM finishes gracefully, it refreshes gtm.control file so that there are no GXID and sequence value loss.

If there is no crash in GTM, no GXID or sequence value will be wasted.   After the crash and restart, a couple of thousand of GXID and sequence value can be wasted.

(Under drafting now...) GTM restart point for BARRIER[]

Barrier needs its own restart point.   For this purpose, the above strategey can be used but we need some modification to this.

1. Restart point should be written to independent file,

2. When each node restoration is done to some BARRIER ID and

Advertisement