Ian Barwick
7e4c26b8a0
Clarify upstream role in log messages
2015-01-27 12:39:39 +09:00
Ian Barwick
f8639a7878
Add TODO note
2015-01-26 22:11:54 +09:00
Ian Barwick
f2309bd0a9
Remove redundant comments
2015-01-26 21:25:37 +09:00
Ian Barwick
061e72d7cd
Rename connection variable for clarity
...
Connection will always be the primary
2015-01-26 20:12:34 +09:00
Ian Barwick
0a19bf1e23
Reword notice to make more sense in log output context
2015-01-24 05:03:57 +09:00
Ian Barwick
84a4766f13
Basic failover for cascaded standby nodes
...
Attempt to attach to the next available upstream node, otherwise
quit monitoring. We'll need to add further options for failover
scenarios, including attempting to attach to another node,
shutting down the server completely etc.
2015-01-24 04:22:40 +09:00
Ian Barwick
3be8bf8e4c
Check primary connection
...
Verify that existing primary connection is valid, and if not
attempt to find and connect to the current primary node.
2015-01-22 12:20:23 +09:00
Ian Barwick
1e6f1a88b0
On local node failure, attempt to update record on primary server
2015-01-22 11:45:01 +09:00
Ian Barwick
4a8912c2b4
Update comments and debugging output
2015-01-22 10:59:33 +09:00
Ian Barwick
3279e9e47e
Separate functions for primary and cascading standby failover
2015-01-22 10:12:03 +09:00
Ian Barwick
5c4e77f8e2
do_failover() -> do_primary_failover()
2015-01-16 17:28:51 +09:00
Ian Barwick
b09f987341
Add note
2015-01-16 16:59:44 +09:00
Ian Barwick
fe758eda9f
Update repl_nodes following failover
...
repl_nodes table updated by each node following failover to
show that either it is the primary, or which primary it has
started to follow.
2015-01-16 16:28:09 +09:00
Ian Barwick
c413cff461
Function to update node records
2015-01-16 14:14:04 +09:00
Ian Barwick
609453a848
Handle failover of top-level standby
...
Cascaded standbys will not go into failover so we need to ignore
these when looking for candidates for promotion.
2015-01-16 12:35:01 +09:00
Ian Barwick
a82d37e48a
Improve node metadata and upstream connecting mechanism
...
To handle cascaded replication we're going to have to keep track
of each node's upstream node. Also enumerate the node type
("primary", "standby" or "witness") and mark if active.
2015-01-16 10:28:02 +09:00
Ian Barwick
4b6c097a3e
Use AS for consistency
2015-01-16 08:46:28 +09:00
Ian Barwick
3dfa33d01d
Store upstream node ID if set
...
Required to manage cascaded standbys
2015-01-16 00:29:43 +09:00
Ian Barwick
a20afe28ec
Add upstream_node_id to repl_nodes table
2015-01-15 23:54:07 +09:00
Ian Barwick
692204e381
Consolidate duplicated schema check code
2015-01-15 18:34:51 +09:00
Ian Barwick
2ae27521a3
Some infrastructure for supporting cascading replication
...
Does not fully work yet.
2015-01-15 15:37:09 +09:00
Ian Barwick
d141d2a8aa
Remove unused variable
2015-01-14 16:25:24 +09:00
Ian Barwick
fc6f5ddaa7
Add function repmgr_get_primary_conninfo()
2015-01-14 16:23:08 +09:00
Ian Barwick
4b7fb70de3
Add current year to copyright
2015-01-14 15:50:42 +09:00
Ian Barwick
5db6489ae5
Initial support for cascaded standbys
2015-01-14 14:18:57 +09:00
Ian Barwick
96f6695a52
Clean up repmgr_get_last_standby_location() polling loop
...
No need to reconnect on every iteration of the loop. Move conditions
which break out of the loop straight away out of the loop.
2015-01-13 16:08:36 +09:00
Ian Barwick
f006a79af9
Clean up log messages for invalid LSNs
2015-01-13 14:53:55 +09:00
Ian Barwick
3a8aa86e0c
Remove pointless check
2015-01-13 14:25:58 +09:00
Ian Barwick
9cbac64ad4
Remove pointless check
...
Witness server can never be considered as a promotion candidate.
2015-01-13 14:24:19 +09:00
Ian Barwick
242fc8416c
Consolidate disconnection calls
2015-01-13 13:59:27 +09:00
Ian Barwick
355d8b8f01
Use InvalidXLogRecPtr for pedantic correctness
2015-01-13 13:47:22 +09:00
Ian Barwick
8df7966540
Rename variable
...
"find_best" sounds like an imperative.
2015-01-13 13:42:30 +09:00
Ian Barwick
1a790549ea
Refactor if-statement
2015-01-13 13:40:47 +09:00
Ian Barwick
b80d25ad33
Add some hopefully correct comments for future reference
...
Also some debugging output which will need to be removed later.
2015-01-13 11:12:20 +09:00
Ian Barwick
a1a61e5ec3
Remove unneeded include
2015-01-13 07:57:54 +09:00
Ian Barwick
1221b73293
repmgrd: explicitly state INSERT statement target columns
2015-01-12 20:47:22 +09:00
Ian Barwick
93d5d7905f
Remove "XL*" macros and rationalize XLogRecPtr handling
...
As of 9.3, XLogRecPtr is a uint64, which makes it much easier to
handle, so we can retire the legacy macros and work directly
with the values.
2015-01-12 17:18:57 +09:00
Ian Barwick
41a5274b44
Comment for consistency
2015-01-12 15:30:17 +09:00
Ian Barwick
d9f83cf620
Replace hard-coded value with local_options.reconnect_attempts;
2015-01-12 14:09:44 +09:00
Ian Barwick
905a2d0a5e
Have witness server retry determining the new master
...
Loop a few times before giving up
2015-01-12 14:05:37 +09:00
Ian Barwick
526803c5e0
Witness server should always try to re-connect to primary
...
Standbys will try to reconnect even in MANUAL_FAILOVER mode,
so it's consistent to have the witness server do that too.
2015-01-12 13:32:04 +09:00
Ian Barwick
2ff24fecf2
Remove redundant constant
2015-01-12 13:16:13 +09:00
Ian Barwick
a5ead16d6f
Change query to use COUNT(*)
...
No point implying we're fetching the entire record
2015-01-12 12:28:06 +09:00
Ian Barwick
5fb84b9627
Witness server: on failover attempt to reconnect to new master
...
Previously it was just quitting.
2015-01-12 11:23:20 +09:00
Ian Barwick
437485bf6a
Fix debugging output
2015-01-12 09:47:13 +09:00
Ian Barwick
822867ec24
Fix thinko
2015-01-12 09:40:47 +09:00
Ian Barwick
5b88a980b8
Add some debugging output
2015-01-12 07:57:42 +09:00
Ian Barwick
e958b8f2d7
Fix typo
2015-01-09 18:44:31 +09:00
Ian Barwick
74a963a10e
Fix schema quoting
...
There was a lot of duplicated/unused related to handling the
schema name; consolidated and rationalised.
2015-01-09 15:51:34 +09:00
Ian Barwick
dd064cb47c
res1 -> res
2015-01-09 11:20:07 +09:00