Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
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
View
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.