HandleFtsWalRepProbe函数位于src/backend/fts/ftsmessagehandler.c,用于在postgres后端处理FTS进程发送的Probe请求。
后续内容欢迎关注公号或者充值CSDN VIP阅读
首先明确probe请求是发送给master认为是primary的segment,先判断如果接受到Probe请求的是mirror,说明目前处于主备倒换期间,期望的mirror目前还没有转主。或者集群出现问题,系统表中的主备情况和集群实际情况不一致。在这种情况下,其响应的数据就是FtsResponse的原始数据(IsMirrorUp为fasle、IsInSync为false、IsSyncRepEnabled为false、IsRoleMirror为false、RequestRetry为false)。
static void HandleFtsWalRepProbe(void)