From 479e2ab5da389cab9504221b5952257a6dcd038d Mon Sep 17 00:00:00 2001 From: Jan Date: Mon, 2 Sep 2019 10:29:00 +0200 Subject: [PATCH] don't issue a warning when transaction log iterator reports more data (#9869) --- arangod/RocksDBEngine/RocksDBBuilderIndex.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/arangod/RocksDBEngine/RocksDBBuilderIndex.cpp b/arangod/RocksDBEngine/RocksDBBuilderIndex.cpp index af53d0bfab..1d2e39ff1a 100644 --- a/arangod/RocksDBEngine/RocksDBBuilderIndex.cpp +++ b/arangod/RocksDBEngine/RocksDBBuilderIndex.cpp @@ -496,9 +496,10 @@ Result catchup(RocksDBIndex& ridx, WriteBatchType& wb, AccessMode::Type mode, } s = iterator->status(); - // we can ignore it if we get a try again when we have exclusive access, - // because that indicates a write to another collection - if (!s.ok() && res.ok() && !(haveExclusiveAccess && s.IsTryAgain())) { + // we can ignore it if we get a try again return value, because that either + // indicates a write to another collection, or a write to this collection if + // we are not in exclusive mode, in which case we will call catchup again + if (!s.ok() && res.ok() && !s.IsTryAgain()) { LOG_TOPIC("8e3a4", WARN, Logger::ENGINES) << "iterator error '" << s.ToString() << "'"; res = rocksutils::convertStatus(s);