From 71b8885babe6dfd25c91b007018347c0c1bfac74 Mon Sep 17 00:00:00 2001
From: zhangzengfei <zhangzengfei@smartai.com>
Date: 星期五, 20 十月 2023 17:35:52 +0800
Subject: [PATCH] 添加主节点变更和主动切换功能

---
 system-service/serf/serf.go |   17 +++++++++++------
 1 files changed, 11 insertions(+), 6 deletions(-)

diff --git a/system-service/serf/serf.go b/system-service/serf/serf.go
index b7b4fde..77e50c3 100644
--- a/system-service/serf/serf.go
+++ b/system-service/serf/serf.go
@@ -21,6 +21,7 @@
 	UserEventSyncSql                = "SyncSql"
 	UserEventSyncDbTablePersonCache = "SyncCache"
 	UserEventSyncVirtualIp          = "SyncVirtualIp"              //婕傜Щip淇敼
+	UserEventChangeMaster           = "ChangeMaster "              //淇敼鑺傜偣鐘舵��
 	UserEventSyncRegisterInfo       = "SyncRegisterInfo"           //鍚屾娉ㄥ唽淇℃伅
 	DataSystemSerfSubscribe         = "data-system-serf-subscribe" //鍚刟pp浠巗erf璁㈤槄娑堟伅
 	UserEventSyncMessage            = "SyncMessageForProc"         // 涓哄叾浠栬繘绋嬪悓姝ユ秷鎭�
@@ -42,6 +43,8 @@
 			HandleUserEventSyncDbTablePersonCache(ev)
 		} else if ev.Name == UserEventSyncVirtualIp {
 			HandleUserEventSyncVirtualIp(ev)
+		} else if ev.Name == UserEventChangeMaster {
+			HandleUserEventChangeMaster(ev)
 		} else if ev.Name == UserEventSyncRegisterInfo {
 			HandleSyncRegisterInfo(ev)
 		} else if ev.Name == DataSystemSerfSubscribe {
@@ -61,8 +64,10 @@
 	case serf.MemberEvent:
 		if event.EventType() == serf.EventMemberLeave {
 			HandleEventMemberLeave(ev)
-		} else if event.EventType() == serf.EventMemberJoin {
+		} else if event.EventType() == serf.EventMemberJoin || event.EventType() == serf.EventMemberUpdate {
 			HandleEventMemberJoin(ev)
+		} else if event.EventType() == serf.EventMemberFailed {
+			HandleEventMemberFail(ev)
 		}
 		logger.Error("serf MemberEvent ", event.EventType())
 	default:
@@ -90,11 +95,11 @@
 					logger.Error("ExecuteSqlByGorm err:", err, ",sql:", sql)
 					return false, err
 				}
-				if result.RowsAffected == 0 {
-					logger.Debug("ExecuteSqlByGorm RowsAffected == 0", ",sql:", sql)
-					err = errors.New("ExecuteSqlByGorm RowsAffected == 0")
-					return false, err
-				}
+				//if result.RowsAffected == 0 {
+				//	logger.Debug("ExecuteSqlByGorm RowsAffected == 0", ",sql:", sql)
+				//	err = errors.New("ExecuteSqlByGorm RowsAffected == 0")
+				//	return false, err
+				//}
 			}
 			tx.Commit()
 			return true, nil

--
Gitblit v1.8.0