Browse Source

ckdb - correct reload file begin time

master
kanoi 8 years ago
parent
commit
a7c27174ce
  1. 12
      src/ckdb.c
  2. 2
      src/ckdb.h

12
src/ckdb.c

@ -6267,7 +6267,7 @@ static bool reload_from(tv_t *start, const tv_t *finish)
bool finished = false, ret = true, ok, apipe = false; bool finished = false, ret = true, ok, apipe = false;
char *filename = NULL; char *filename = NULL;
uint64_t count, total; uint64_t count, total;
tv_t now, begin, file_begin; tv_t now, begin, file_begin, file_end;
double diff; double diff;
FILE *fp = NULL; FILE *fp = NULL;
int file_N_limit; int file_N_limit;
@ -6296,7 +6296,6 @@ static bool reload_from(tv_t *start, const tv_t *finish)
setnow(&now); setnow(&now);
copy_tv(&begin, &now); copy_tv(&begin, &now);
copy_tv(&file_begin, &now);
tvs_to_buf(&now, run, sizeof(run)); tvs_to_buf(&now, run, sizeof(run));
snprintf(reload_buf, MAX_READ, "reload.%s.s0", run); snprintf(reload_buf, MAX_READ, "reload.%s.s0", run);
LOGQUE(reload_buf, true); LOGQUE(reload_buf, true);
@ -6312,6 +6311,7 @@ static bool reload_from(tv_t *start, const tv_t *finish)
LOGWARNING("%s(): processing %s", __func__, filename); LOGWARNING("%s(): processing %s", __func__, filename);
processing++; processing++;
count = 0; count = 0;
setnow(&file_begin);
/* Don't abort when matched since breakdown() will remove /* Don't abort when matched since breakdown() will remove
* the matching message sequence numbers queued from ckpool * the matching message sequence numbers queued from ckpool
@ -6349,8 +6349,8 @@ static bool reload_from(tv_t *start, const tv_t *finish)
} }
} }
setnow(&now); setnow(&file_end);
diff = tvdiff(&now, &file_begin); diff = tvdiff(&file_end, &file_begin);
if (diff == 0) if (diff == 0)
diff = 1; diff = 1;
@ -6410,10 +6410,8 @@ static bool reload_from(tv_t *start, const tv_t *finish)
} }
filename = hour_filename(restorefrom, restorename, reload_timestamp.tv_sec); filename = hour_filename(restorefrom, restorename, reload_timestamp.tv_sec);
ok = logopen(&filename, &fp, &apipe); ok = logopen(&filename, &fp, &apipe);
if (ok) { if (ok)
setnow(&file_begin);
break; break;
}
errno = 0; errno = 0;
if (missing_count++ > 1) if (missing_count++ > 1)
free(missinglast); free(missinglast);

2
src/ckdb.h

@ -55,7 +55,7 @@
#define DB_VLOCK "1" #define DB_VLOCK "1"
#define DB_VERSION "1.0.7" #define DB_VERSION "1.0.7"
#define CKDB_VERSION DB_VERSION"-2.304" #define CKDB_VERSION DB_VERSION"-2.305"
#define WHERE_FFL " - from %s %s() line %d" #define WHERE_FFL " - from %s %s() line %d"
#define WHERE_FFL_HERE __FILE__, __func__, __LINE__ #define WHERE_FFL_HERE __FILE__, __func__, __LINE__

Loading…
Cancel
Save