]> granicus.if.org Git - postgresql/commit
Keep CommitTs module in sync in standby and master
authorAlvaro Herrera <alvherre@alvh.no-ip.org>
Mon, 9 Mar 2015 20:44:00 +0000 (17:44 -0300)
committerAlvaro Herrera <alvherre@alvh.no-ip.org>
Mon, 9 Mar 2015 20:44:00 +0000 (17:44 -0300)
commit4f3924d9cd438ba4e6fd639460f8c859c65d45a3
tree748f52461ea81ff16239bc156f7950c597eefda0
parente3f1c24b992acb88e4ccf33118640aee4b11dd47
Keep CommitTs module in sync in standby and master

We allow this module to be turned off on restarts, so a restart time
check is enough to activate or deactivate the module; however, if there
is a standby replaying WAL emitted from a master which is restarted, but
the standby isn't, the state in the standby becomes inconsistent and can
easily be crashed.

Fix by activating and deactivating the module during WAL replay on
parameter change as well as on system start.

Problem reported by Fujii Masao in
http://www.postgresql.org/message-id/CAHGQGwFhJ3CnHo1CELEfay18yg_RA-XZT-7D8NuWUoYSZ90r4Q@mail.gmail.com

Author: Petr JelĂ­nek
src/backend/access/transam/commit_ts.c
src/backend/access/transam/xlog.c
src/backend/commands/vacuum.c
src/include/access/commit_ts.h