leveldb replication: Lets always download the current append log just to be safe

This commit is contained in:
Hiram Chirino 2013-11-01 14:17:40 -04:00
parent 2824a94af4
commit dea38e62f8
1 changed files with 4 additions and 13 deletions

View File

@ -332,20 +332,11 @@ class SlaveLevelDBStore extends LevelDBStore with ReplicatedLevelDBStoreTrait {
if (stashed_file.length() == x.length )
return stashed_file.cached_crc32 == x.crc32
if ( stashed_file.crc32(x.length) == x.crc32 ) {
// we don't want to truncate the log file currently being appended to.
if( x.file != state.append_log ) {
// Our log file might be longer. lets truncate to match.
val raf = new RandomAccessFile(stashed_file, "rw")
try {
raf.setLength(x.length)
} finally {
raf.close();
if( x.file == state.append_log ) {
return false;
}
}
return true;
}
return false
return stashed_file.cached_crc32 == x.crc32
}
// We don't have to transfer log files that have been previously transferred.