leveldb replication: Lets always download the current append log just to be safe
Project: http://git-wip-us.apache.org/repos/asf/activemq/repo Commit: http://git-wip-us.apache.org/repos/asf/activemq/commit/c7a65cc2 Tree: http://git-wip-us.apache.org/repos/asf/activemq/tree/c7a65cc2 Diff: http://git-wip-us.apache.org/repos/asf/activemq/diff/c7a65cc2 Branch: refs/heads/activemq-5.9 Commit: c7a65cc22824e9bc5c887cb53960792be7fa2f24 Parents: 3f94098 Author: Hiram Chirino <[email protected]> Authored: Fri Nov 1 14:17:40 2013 -0400 Committer: Hadrian Zbarcea <[email protected]> Committed: Wed Mar 12 08:59:56 2014 -0400 ---------------------------------------------------------------------- .../leveldb/replicated/SlaveLevelDBStore.scala | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/activemq/blob/c7a65cc2/activemq-leveldb-store/src/main/scala/org/apache/activemq/leveldb/replicated/SlaveLevelDBStore.scala ---------------------------------------------------------------------- diff --git a/activemq-leveldb-store/src/main/scala/org/apache/activemq/leveldb/replicated/SlaveLevelDBStore.scala b/activemq-leveldb-store/src/main/scala/org/apache/activemq/leveldb/replicated/SlaveLevelDBStore.scala index f1a47f7..7befe9d 100644 --- a/activemq-leveldb-store/src/main/scala/org/apache/activemq/leveldb/replicated/SlaveLevelDBStore.scala +++ b/activemq-leveldb-store/src/main/scala/org/apache/activemq/leveldb/replicated/SlaveLevelDBStore.scala @@ -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(); - } - } - return true; + if( x.file == state.append_log ) { + return false; } - return false + + return stashed_file.cached_crc32 == x.crc32 } // We don't have to transfer log files that have been previously transferred.
