Fixed truncation bug (truncation is more aggressive now), and added more debugging info.

This commit is contained in:
Sears Russell 2006-06-12 20:55:49 +00:00
parent 5f307ab820
commit 7bb0ce0d17
2 changed files with 11 additions and 6 deletions

View file

@ -463,6 +463,7 @@ int truncateLog(lsn_t LSN) {
if(global_offset + sizeof(lsn_t) >= LSN) {
/* Another thread beat us to it...the log is already truncated
past the point requested, so just return. */
printf("Skipping truncate. global_offset = %ld, requested LSN = %ld\n", global_offset, LSN);
pthread_mutex_unlock(&truncateLog_mutex);
return 0;
}
@ -530,6 +531,9 @@ int truncateLog(lsn_t LSN) {
perror("Error replacing old log file with new log file");
return LLADD_IO_ERROR;
} else {
printf("Truncation complete.\n");
fflush(stdout);
}
int logFD = open (LOG_FILE, O_CREAT | O_WRONLY | O_APPEND | O_SYNC, S_IRWXU | S_IRWXG | S_IRWXO);

View file

@ -171,12 +171,13 @@ int truncateNow() {
printf("Truncating to rec_lsn = %ld\n", rec_lsn);
fflush(stdout);
if(rec_lsn != flushed) {
LogTruncate(rec_lsn);
return 1;
} else {
return 0;
}
// What was this check for?!?
//if(rec_lsn != flushed) {
LogTruncate(rec_lsn);
return 1;
// } else {
// return 0;
// }
} else {
return 0;
}