Ian Barwick
c178d8ed27
Refactor standby monitoring query
...
Addresses GitHub #224
2016-08-11 17:28:59 +09:00
Ian Barwick
08ef4d4be6
Improve handling of failover events when failover is set to manual
...
- prevent repmgrd from repeatedly executing the failover code
- add event notification 'standby_disconnect_manual'
- update documentation
This addresses GitHub #221 .
2016-08-09 12:20:20 +09:00
Ian Barwick
1a0049f086
repmgrd: prevent endless loops in failover with manual node
...
The LSN reported by the shared memory function defaults to "0/0"
(InvalidXLogRecPtr) - this indicates that the repmgrd on that node
hasn't been able to update it yet. However during failover several
places in the code assumed this is an error, which would cause
an endless loop waiting for updates which would never come.
To get around this without changing function definitions, we can
store an explicit message in the shared memory location field so the
caller can tell whether the other node hasn't yet updated the field,
or encountered situation which means it should not be considered
as a promotion candidate (which in most cases will be because
`failover` is set to `manual`.
Resolves GitHub #222 .
2016-08-09 12:20:03 +09:00
Ian Barwick
af6f0fc2cf
Fix repmgrd's command line help option parsing
...
As in commit d0c05e6f46 , properly distinguish between
the command line option -? and getopt's unknown option marker '?'
2016-08-08 21:19:13 +09:00
Ian Barwick
374e9811c9
Merge branch 'master' of github.com:2ndQuadrant/repmgr into REL3_1_STABLE
2016-07-06 16:43:39 +09:00
Ian Barwick
091541619d
Fix repmgrd monitoring calculation when in archive recovery
2016-07-06 09:27:31 +09:00
Ian Barwick
74f6f97f26
repmgrd: log whether in standby or witness monitor loop
...
This is mainly for development and debugging purposes.
2016-06-29 10:31:57 +09:00
Ian Barwick
f1ee6e19b6
Ensure configuration options correctly initialised in repmgrd.c
...
Per GitHub #150 .
Also remove unused variable.
2016-06-27 11:26:05 +09:00
Ian Barwick
a2b5ba595a
repmgrd: reword log message for clarity
2016-06-23 09:47:35 +09:00
Ian Barwick
c16ab3c889
Fix handling of global PGconn variables in repmgrd
...
Don't call PQfinish before calling terminate(), elsewhere always
set to NULL after calling PQfinish().
This fixes GitHub #182 .
2016-06-21 17:30:22 +09:00
Ian Barwick
dd5b6f9f12
Whitespace fixes
2016-06-21 16:04:41 +09:00
Ian Barwick
303bb22ee1
Note potential replication lag check improvement
2016-06-20 12:23:34 +09:00
Ian Barwick
5d8b1a3a31
monitoring: ensure that invalid replication_lag value is not inserted.
...
Per Github #189 .
2016-06-20 10:55:25 +09:00
Ian Barwick
1ade1acb22
Report standby location as last apply location when in archive recovery
...
Otherwise the monitoring table's 'last_wal_standby_location' will stay at
the location of the last streaming WAL received.
This complements the bugfix applied in e814c1120e .
2016-06-15 15:41:10 +09:00
Ian Barwick
66fd003ab4
Schema-qualify pg_catalog objects
2016-06-10 17:58:10 +09:00
Martin
b6ebd34e2f
Some other indentation fixes found
2016-06-03 20:20:43 -03:00
Martin
46ff9fb587
No code change, just indentation was incorrect in the failover part
...
making it hard to read.
2016-06-03 20:20:43 -03:00
Ian Barwick
cf126642bd
repmgrd: handle situations where streaming replication is inactive
2016-05-16 12:31:31 +09:00
Ian Barwick
52281fcde8
repmgrd: rename some variables to better match the system functions they're populated from
2016-05-16 12:31:06 +09:00
Ian Barwick
de573edaaa
Remove extraneous PQfinish()
2016-05-16 12:23:39 +09:00
Ian Barwick
6db742f81e
repmgrd: better handling of missing upstream_node_id
...
Ensure we default to master node.
2016-05-16 12:23:20 +09:00
Ian Barwick
c79933685c
Add missing newlines in log messages
2016-05-16 12:23:15 +09:00
Ian Barwick
04ba672b9f
repmgrd: avoid additional connection to local instance in do_master_failover()
2016-05-16 12:23:09 +09:00
Ian Barwick
3a3a536e6d
repmgrd: rename variable for clarity
2016-05-16 12:22:58 +09:00
Ian Barwick
6f7206a5a1
Don't follow the promotion candidate standby if the primary reappears
2016-05-16 12:22:49 +09:00
Ian Barwick
f9fd1dd227
Don't terminate a standby's repmgrd if self-promotion fails due to master reappearing
...
Per GitHub #173
2016-05-16 12:22:40 +09:00
Ian Barwick
e814c1120e
repmgrd: handle situations where streaming replication is inactive
2016-05-12 22:17:44 +09:00
Ian Barwick
247823db4d
Remove extraneous PQfinish()
2016-05-12 14:05:44 +09:00
Ian Barwick
0a798bf6e4
Comment fixes and formatting tweaks
2016-05-12 09:52:22 +09:00
Ian Barwick
21b2ff1a1f
repmgrd: better handling of missing upstream_node_id
...
Ensure we default to master node.
2016-05-12 09:20:33 +09:00
Ian Barwick
57f9432692
Add missing newlines in log messages
2016-05-11 21:47:40 +09:00
Ian Barwick
54d3c7a4ca
repmgrd: avoid additional connection to local instance in do_master_failover()
2016-05-11 09:55:38 +09:00
Ian Barwick
b0f6b7bad7
repmgrd: rename variable for clarity
2016-05-11 08:29:55 +09:00
Ian Barwick
4dbbf40196
Don't follow the promotion candidate standby if the primary reappears
2016-05-10 13:58:59 +09:00
Ian Barwick
d5e24689a4
Don't terminate a standby's repmgrd if self-promotion fails due to master reappearing
...
Per GitHub #173
2016-05-10 11:45:03 +09:00
Ian Barwick
2946c097f0
repmgrd: rename some variables to better match the system functions they're populated from
2016-04-12 15:51:42 +09:00
Ian Barwick
9a2717b5e3
Improve debugging output for node resyncing
...
We'll need this for testing.
2016-04-01 15:20:32 +09:00
Ian Barwick
dd6ea1cd77
Rename copy_configuration () to witness_copy_node_records()
...
As it's witness-specific. Per suggestion from Martín.
2016-04-01 11:30:08 +09:00
Ian Barwick
5d32026b79
Improve debugging output for node resyncing
...
We'll need this for testing.
2016-04-01 11:29:35 +09:00
Ian Barwick
190cc7dcb4
Rename copy_configuration () to witness_copy_node_records()
...
As it's witness-specific. Per suggestion from Martín.
2016-04-01 08:44:23 +09:00
Ian Barwick
0ebd9c15d9
Regularly sync witness server repl_nodes table.
...
Although the witness server will resync the repl_nodes table following
a failover, other operations (e.g. removing or cloning a standby)
were previously not reflected in the witness server's copy of this
table.
As a short-term workaround, automatically resync the table at regular
intervals (defined by the configuration file parameter
"witness_repl_nodes_sync_interval_secs", default 30 seconds).
2016-03-30 15:06:12 +09:00
Ian Barwick
205f1cebbb
It's unlikely this situation will occur on a witness server
...
Which is why the error message is for master/standby only.
2016-03-30 15:05:26 +09:00
Ian Barwick
bd1e4f71d6
repmgrd: fix error message
2016-03-30 15:05:10 +09:00
Ian Barwick
c48c248c15
Regularly sync witness server repl_nodes table.
...
Although the witness server will resync the repl_nodes table following
a failover, other operations (e.g. removing or cloning a standby)
were previously not reflected in the witness server's copy of this
table.
As a short-term workaround, automatically resync the table at regular
intervals (defined by the configuration file parameter
"witness_repl_nodes_sync_interval_secs", default 30 seconds).
2016-03-29 16:49:28 +09:00
Ian Barwick
c828598bfb
It's unlikely this situation will occur on a witness server
...
Which is why the error message is for master/standby only.
2016-03-28 15:53:25 +09:00
Ian Barwick
d400d7f9ac
repmgrd: fix error message
2016-02-24 15:33:36 +09:00
Ian Barwick
05b47cb2a8
Prevent repmgr/repmgrd running as root
2016-02-23 14:37:44 +09:00
Ian Barwick
c6e1bc205a
Prevent repmgr/repmgrd running as root
2016-02-22 14:58:17 +09:00
Ian Barwick
1375adcac8
Standardize capitalisation in log messages
2016-01-28 07:24:45 +09:00
Ian Barwick
e859a58405
Change some repmgrd log messages to NOTICE
...
So key events during failover on promoted and following standbys
logged at the same level.
2016-01-27 18:39:27 +09:00