change TRACKER_SYNC_STATUS_FILE_INTERVAL from 3600 to 300

pull/48/head
yuqing 2014-08-10 17:17:25 +08:00
parent 95800612dc
commit 56ae38fa16
3 changed files with 18 additions and 10 deletions

View File

@ -6,6 +6,7 @@ Version 5.03 2014-08-10
* patches by liangry@ucweb.com
* bug fixed: can't sync large files cause by v5.02
* use newest files from libfastcommon
* change TRACKER_SYNC_STATUS_FILE_INTERVAL from 3600 to 300
Version 5.02 2014-07-20
* corect README spell mistake

View File

@ -29,7 +29,7 @@
#define TRACKER_SYNC_TO_FILE_FREQ 1000
#define TRACKER_MAX_PACKAGE_SIZE (8 * 1024)
#define TRACKER_SYNC_STATUS_FILE_INTERVAL 3600 //one hour
#define TRACKER_SYNC_STATUS_FILE_INTERVAL 300 //5 minute
#ifdef __cplusplus
extern "C" {

View File

@ -3919,6 +3919,15 @@ static int tracker_mem_cmp_tracker_running_status(const void *p1, const void *p2
pStatus1 = (TrackerRunningStatus *)p1;
pStatus2 = (TrackerRunningStatus *)p2;
if (pStatus1->if_leader)
{
return 1;
}
else if (pStatus2->if_leader)
{
return -1;
}
sub = pStatus1->running_time - pStatus2->running_time;
if (sub != 0)
{
@ -4108,23 +4117,20 @@ static int tracker_mem_get_tracker_server(FDFSStorageJoinBody *pJoinBody, \
return result == 0 ? ENOENT : result;
}
if (count == 1)
if (count > 1)
{
memcpy(pTrackerStatus, trackerStatus, \
sizeof(TrackerRunningStatus));
return 0;
qsort(trackerStatus, count, sizeof(TrackerRunningStatus), \
tracker_mem_cmp_tracker_running_status);
}
qsort(trackerStatus, count, sizeof(TrackerRunningStatus), \
tracker_mem_cmp_tracker_running_status);
for (i=0; i<count; i++)
{
logDebug("file: "__FILE__", line: %d, " \
"%s:%d running time: %d, restart interval: %d", \
__LINE__, \
"%s:%d leader: %d, running time: %d, " \
"restart interval: %d", __LINE__, \
trackerStatus[i].pTrackerServer->ip_addr, \
trackerStatus[i].pTrackerServer->port, \
trackerStatus[i].if_leader, \
trackerStatus[i].running_time, \
trackerStatus[i].restart_interval);
}
@ -4239,6 +4245,7 @@ int tracker_mem_add_group_and_storage(TrackerClientInfo *pClientInfo, \
{ /* stop time exceeds 2 * interval */
TrackerRunningStatus runningStatus;
runningStatus.if_leader = false;
tracker_calc_running_times(&runningStatus);
result = tracker_mem_get_sys_files_from_others(\
pJoinBody, &runningStatus);