From aa198b58456117bbe2f896b76240bf452b923f51 Mon Sep 17 00:00:00 2001 From: Tor Brede Vekterli Date: Tue, 16 Feb 2021 16:35:46 +0000 Subject: Log count of lost documents when all bucket replicas are gone --- storage/src/vespa/storage/distributor/bucketdbupdater.cpp | 7 +++++-- storage/src/vespa/storage/distributor/bucketdbupdater.h | 1 + 2 files changed, 6 insertions(+), 2 deletions(-) (limited to 'storage') diff --git a/storage/src/vespa/storage/distributor/bucketdbupdater.cpp b/storage/src/vespa/storage/distributor/bucketdbupdater.cpp index a8c4e7c3544..ab2731e0845 100644 --- a/storage/src/vespa/storage/distributor/bucketdbupdater.cpp +++ b/storage/src/vespa/storage/distributor/bucketdbupdater.cpp @@ -902,6 +902,7 @@ BucketDBUpdater::MergingNodeRemover::MergingNodeRemover( _available_nodes(), _nonOwnedBuckets(), _removed_buckets(0), + _removed_documents(0), _localIndex(localIndex), _distribution(distribution), _upStates(upStates), @@ -1026,6 +1027,7 @@ BucketDBUpdater::MergingNodeRemover::merge(storage::BucketDatabase::Merger& merg if (remainingCopies.empty()) { ++_removed_buckets; + _removed_documents += e->getHighestDocumentCount(); return Result::Skip; } else { setCopiesInEntry(e, remainingCopies); @@ -1043,9 +1045,10 @@ BucketDBUpdater::MergingNodeRemover::~MergingNodeRemover() { if (_removed_buckets != 0) { LOGBM(info, "After cluster state change %s, %zu buckets no longer " - "have available replicas. Documents in these buckets will " + "have available replicas. %zu documents in these buckets will " "be unavailable until nodes come back up", - _oldState.getTextualDifference(_state).c_str(), _removed_buckets); + _oldState.getTextualDifference(_state).c_str(), + _removed_buckets, _removed_documents); } } diff --git a/storage/src/vespa/storage/distributor/bucketdbupdater.h b/storage/src/vespa/storage/distributor/bucketdbupdater.h index 86bca224229..ccfee1e0c36 100644 --- a/storage/src/vespa/storage/distributor/bucketdbupdater.h +++ b/storage/src/vespa/storage/distributor/bucketdbupdater.h @@ -229,6 +229,7 @@ private: std::vector _available_nodes; std::vector _nonOwnedBuckets; size_t _removed_buckets; + size_t _removed_documents; uint16_t _localIndex; const lib::Distribution& _distribution; -- cgit v1.2.3