From dd59eee715a31d8d7247dbd5e96dabae10fdedd7 Mon Sep 17 00:00:00 2001 From: Jan Date: Mon, 26 Jun 2017 16:28:53 +0200 Subject: [PATCH] fix a crash in the counter manager (#2665) --- arangod/RocksDBEngine/RocksDBCounterManager.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/arangod/RocksDBEngine/RocksDBCounterManager.cpp b/arangod/RocksDBEngine/RocksDBCounterManager.cpp index af91da579f..03989bf219 100644 --- a/arangod/RocksDBEngine/RocksDBCounterManager.cpp +++ b/arangod/RocksDBEngine/RocksDBCounterManager.cpp @@ -528,16 +528,21 @@ public: } void storeLastKeyValue(uint64_t objectId, uint64_t keyValue) { + if (keyValue == 0) { + return; + } + auto it = _generators->find(objectId); - if (it == _generators->end() && keyValue != 0) { + + if (it == _generators->end()) { try { _generators->emplace(objectId, keyValue); } catch (...) {} return; } - if (keyValue > it->second) { - it->second = keyValue; + if (keyValue > (*it).second) { + (*it).second = keyValue; } }