From 50b1f72b25a2d0e5a2efc97d30e53b85cb975f6a Mon Sep 17 00:00:00 2001 From: Dan Larkin-York Date: Fri, 27 Sep 2019 07:31:36 -0400 Subject: [PATCH] [3.5] Fix issue with cache allocation statistics. (#10029) * Fix issue with cache allocation statistics. * updated CHANGELOG --- CHANGELOG | 3 +++ arangod/Cache/Cache.cpp | 6 +++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 3ac4a1fced..f62dd1771c 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,6 +1,9 @@ v3.5.1 (XXXX-XX-XX) ------------------- +* Fixed a bug in the edge cache's internal memory accounting, which led + to the edge cache underreporting its current memory usage. + * Fixed "ArangoDB is not running in cluster mode" errors in active failover setups. This affected at least /_admin/cluster/health. diff --git a/arangod/Cache/Cache.cpp b/arangod/Cache/Cache.cpp index 0231a8a24b..6d65e6e1e8 100644 --- a/arangod/Cache/Cache.cpp +++ b/arangod/Cache/Cache.cpp @@ -361,12 +361,12 @@ void Cache::shutdown() { } _manager->reclaimTable(std::atomic_load(&_tableShrdPtr)); + _metadata.writeLock(); + _metadata.changeTable(0); + _metadata.writeUnlock(); _manager->unregisterCache(_id); _table.store(nullptr, std::memory_order_relaxed); } - _metadata.writeLock(); - _metadata.changeTable(0); - _metadata.writeUnlock(); _taskLock.writeUnlock(); }