From a0c1140e1c66165c0758246709987a87221dcfc4 Mon Sep 17 00:00:00 2001 From: yuqing Date: Wed, 29 Mar 2017 14:25:51 +0800 Subject: [PATCH] clear sync src id when tracker response ENOENT --- HISTORY | 1 + storage/tracker_client_thread.c | 23 +++++++++++++++++------ 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/HISTORY b/HISTORY index e212d2d..254fb97 100644 --- a/HISTORY +++ b/HISTORY @@ -6,6 +6,7 @@ Version 5.10 2017-03-29 you must upgrade libfastcommon to V1.36 or later * do NOT sync storage server info to tracker leader * adjust parameter store_server when use_trunk_file is true + * clear sync src id when tracker response ENOENT Version 5.09 2016-12-29 * bug fixed: list_all_groups expand buffer auto for so many groups diff --git a/storage/tracker_client_thread.c b/storage/tracker_client_thread.c index 3b0cd9b..d153799 100644 --- a/storage/tracker_client_thread.c +++ b/storage/tracker_client_thread.c @@ -1819,12 +1819,23 @@ static int tracker_sync_notify(ConnectionInfo *pTrackerServer) } if ((result=fdfs_recv_header(pTrackerServer, &in_bytes)) != 0) - { - logError("file: "__FILE__", line: %d, " - "fdfs_recv_header fail, result: %d", - __LINE__, result); - return result; - } + { + if (result == ENOENT) + { + logWarning("file: "__FILE__", line: %d, " + "clear sync src id: %s", + __LINE__, g_sync_src_id); + *g_sync_src_id = '\0'; + storage_write_to_sync_ini_file(); + } + else + { + logError("file: "__FILE__", line: %d, " + "fdfs_recv_header fail, result: %d", + __LINE__, result); + return result; + } + } if (in_bytes != 0) {