From b94ba24c2efa283e3fd86bdf36212830806682bb Mon Sep 17 00:00:00 2001 From: yuqing Date: Tue, 28 Mar 2017 10:16:35 +0800 Subject: [PATCH] do NOT sync storage server info to tracker leader --- HISTORY | 3 ++- tracker/tracker_service.c | 18 ++++++++++++++---- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/HISTORY b/HISTORY index b1f5e7d..2afa09a 100644 --- a/HISTORY +++ b/HISTORY @@ -1,9 +1,10 @@ -Version 5.10 2017-03-08 +Version 5.10 2017-03-28 * use fc_safe_read instead of read, and fc_safe_write instead of write you must upgrade libfastcommon to V1.35 or later * fix getFileContentEx read bytes, you must upgrade libfastcommon to V1.36 or later + * do NOT sync storage server info to tracker leader Version 5.09 2016-12-29 * bug fixed: list_all_groups expand buffer auto for so many groups diff --git a/tracker/tracker_service.c b/tracker/tracker_service.c index c79cd84..6e96e61 100644 --- a/tracker/tracker_service.c +++ b/tracker/tracker_service.c @@ -422,7 +422,6 @@ static int tracker_check_and_sync(struct fast_task_info *pTask, \ pClientInfo->pGroup->trunk_chg_count; p = (char *)pDestServer; } - } if (pClientInfo->pStorage->chg_count != pClientInfo->pGroup->chg_count) { @@ -448,6 +447,7 @@ static int tracker_check_and_sync(struct fast_task_info *pTask, \ pClientInfo->pGroup->chg_count; p = (char *)pDestServer; } + } pTask->length = p - pTask->data; return status; @@ -743,9 +743,19 @@ static int tracker_deal_storage_replica_chg(struct fast_task_info *pTask) } pTask->length = sizeof(TrackerHeader); - briefServers = (FDFSStorageBrief *)(pTask->data + sizeof(TrackerHeader)); - return tracker_mem_sync_storages(((TrackerClientInfo *)pTask->arg)->pGroup, \ - briefServers, server_count); + if (g_if_leader_self) + { + logDebug("file: "__FILE__", line: %d, " \ + "client ip addr: %s, ignore storage info sync, " + "server_count: %d", __LINE__, pTask->client_ip, server_count); + return 0; + } + else + { + briefServers = (FDFSStorageBrief *)(pTask->data + sizeof(TrackerHeader)); + return tracker_mem_sync_storages(((TrackerClientInfo *)pTask->arg)->pGroup, + briefServers, server_count); + } } static int tracker_deal_report_trunk_fid(struct fast_task_info *pTask)