From ca2652d724c91bcc0849c749d10f2b9af8129a09 Mon Sep 17 00:00:00 2001
From: liuxiaolong <736321739@qq.com>
Date: 星期四, 24 十月 2019 11:35:21 +0800
Subject: [PATCH] fix node leave and join

---
 agent.go |   11 ++++++++++-
 1 files changed, 10 insertions(+), 1 deletions(-)

diff --git a/agent.go b/agent.go
index ceb7479..c876f39 100644
--- a/agent.go
+++ b/agent.go
@@ -240,12 +240,21 @@
 		if event.EventType() == serf.EventMemberLeave {
 			if ev.Members !=nil && len(ev.Members) ==1 {
 				leaveMember := ev.Members[0]
-				leaveSql := "delete from cluster_node where node_id='"+leaveMember.Name+"'"
+				leaveSql := "update cluster_node set isDelete=1 where node_id='"+leaveMember.Name+"'"
 				ExecuteSqlByGorm([]string{ leaveSql })
 
 				logger.Info("EventMemberLeave,current Members:",ev.Members)
 			}
 			return
+		} else if event.EventType() == serf.EventMemberJoin {
+			if ev.Members !=nil && len(ev.Members) ==1 {
+				leaveMember := ev.Members[0]
+				leaveSql := "update cluster_node set isDelete=0 where node_id='"+leaveMember.Name+"'"
+				ExecuteSqlByGorm([]string{ leaveSql })
+
+				logger.Info("EventMemberJoin,current Members:",ev.Members)
+			}
+			return
 		}
 
 

--
Gitblit v1.8.0