Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Browse files

Fix node decision logic when priorities are involved. Currently if

two nodes with different prorities are equally good to be promoted
the second one (with a lower priority, considering them
in descending order) will win.

Per report from Brailean Dumitru
  • Loading branch information...
commit 5f33d9d715d0ea043652721589a542492d743773 1 parent 877f4cf
@jcasanov jcasanov authored
Showing with 3 additions and 3 deletions.
  1. +3 −3 repmgrd.c
6 repmgrd.c
@@ -708,13 +708,13 @@ do_failover(void)
find_best = true;
- /* we use the macros provided by xlogdefs.h to compare XLogPtr */
+ /* we use the macros provided by xlogdefs.h to compare XLogRecPtr */
* Nodes are retrieved ordered by priority, so if the current
- * best candidate is lower or equal to the next node's wal location
+ * best candidate is lower than the next node's wal location
* then assign next node as the new best candidate.
- if (XLByteLE(best_candidate.xlog_location, nodes[i].xlog_location))
+ if (XLByteLT(best_candidate.xlog_location, nodes[i].xlog_location))
best_candidate.nodeId = nodes[i].nodeId;
best_candidate.xlog_location.xlogid = nodes[i].xlog_location.xlogid;
Please sign in to comment.
Something went wrong with that request. Please try again.