--- ./source/private_module/ccdb_client/ccdb_client_sub.c	2018-09-27 13:43:40.000000000 +0000
+++ ./source/private_module/ccdb_client/ccdb_client_sub.c.hotpatch	2018-09-27 15:37:13.000000000 +0000
@@ -34,7 +34,7 @@
 /***************************ȫֱ****************************************/
 
 static CLUSTER_LOCK_S g_subLock;
-
+uint32_t g_subCancelState=0;
 /***************************궨****************************************/
 
 #define LOCK_SUB_INFO() CLUSTER_LOCK(&g_subLock)
@@ -443,9 +443,7 @@
         CLUSTER_LogIntf(DBG_LOG_ERROR, CLUSTER_LOG_ID_CCDB_0068, "CCDB_PUB_CLIENT:change ack db id(%d to %d).",contextInfo->dbid,ackDbid);
         contextInfo->dbid = ackDbid;
     }
-
-    LOCK_SUB_INFO();
-    
+    LOCK_SUB_INFO();   
     /*ϢǷѾ*/
     subInfo = findCcdbSubInfo(&contextInfo->desSite, contextInfo->dbid, contextInfo->table);
     if (NULL != subInfo)
@@ -473,20 +471,22 @@
                 return CCDB_OK;
             }
         }
-    }
-    
+    } 
     ret = addCcdbNotifyInfo(contextInfo, reqLastRcvVersion, contextInfo->cbFunc);
     UNLOCK_SUB_INFO();
-
     if (CCDB_OK != ret)
     {
         CLUSTER_LogIntf(DBG_LOG_INFO, CLUSTER_LOG_ID_CCDB_006B, "CCDB_PUB_CLIENT:Regdbid(%d) table(%s) set reg sub info failed.", ackDbid, ackTable);
         return CCDB_ERROR;
     }
-
+    if ((g_subCancelState == 1) && (0 != ccdbStrncmp(contextInfo->desSite.arraySn ,CCDB_LOCAL_SITE_NAME, CCDB_SITE_SN_LEN)))
+    {
+        g_subCancelState = 0;
+        clearCliSessionEpoch(&(contextInfo->desSite));
+        CLUSTER_LogIntf(DBG_LOG_INFO, CLUSTER_LOG_ID_CCDB_006B, "subSiteNotify(%s),session should down.", contextInfo->desSite.arraySn);
+    }
     /*̲߳ڲ,Ҫ*/
-    addSubInfoToArray(contextInfo, "CREATE", reqLastRcvVersion);
-	
+    addSubInfoToArray(contextInfo, "CREATE", reqLastRcvVersion);	
     return CCDB_OK;
 }
 	
@@ -926,8 +926,8 @@
     ccdbDelSubReg(subInfo);  
     UNLOCK_SUB_INFO();
 
-    /*sessionΪЧ,servϢ½servĶͬserv*/
-    clearCliSessionEpoch(siteInfo);
+
+    g_subCancelState=1;
 
     CLUSTER_LogIntf(DBG_LOG_WARNING, CLUSTER_LOG_ID_CCDB_0001, 
         "CCDB_PUB_CLIENT:cancel ccdb notify OK(site=%s,dbName=%s,table=%s).", siteInfo->arraySn, dbName, table);
