summaryrefslogtreecommitdiffstats
path: root/storage/src
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@broadpark.no>2020-12-08 20:59:46 +0100
committerTor Egge <Tor.Egge@broadpark.no>2020-12-08 20:59:46 +0100
commit0ac9763eb898f0c8cf67326e9899995c326ca25c (patch)
tree853bcc0a52d093014aba8a8ee781a9ac302c05a2 /storage/src
parent46d84c225658585de881f0df47243644ad915a44 (diff)
Cleanup remains of disk concept.
Diffstat (limited to 'storage/src')
-rw-r--r--storage/src/vespa/storage/bucketdb/bucketmanager.cpp53
1 files changed, 24 insertions, 29 deletions
diff --git a/storage/src/vespa/storage/bucketdb/bucketmanager.cpp b/storage/src/vespa/storage/bucketdb/bucketmanager.cpp
index 7b934af4bdd..715e024b227 100644
--- a/storage/src/vespa/storage/bucketdb/bucketmanager.cpp
+++ b/storage/src/vespa/storage/bucketdb/bucketmanager.cpp
@@ -169,12 +169,11 @@ namespace {
Count() : docs(0), bytes(0), buckets(0), active(0), ready(0) {}
};
- uint16_t diskCount;
- std::vector<Count> disk;
+ Count count;
uint32_t lowestUsedBit;
- explicit MetricsUpdater(uint16_t diskCnt)
- : diskCount(diskCnt), disk(diskCnt), lowestUsedBit(58) {}
+ MetricsUpdater()
+ : count(), lowestUsedBit(58) {}
void operator()(document::BucketId::Type bucketId,
const StorBucketDatabase::Entry& data)
@@ -183,15 +182,15 @@ namespace {
document::BucketId::keyToBucketId(bucketId));
if (data.valid()) {
- ++disk[0].buckets;
+ ++count.buckets;
if (data.getBucketInfo().isActive()) {
- ++disk[0].active;
+ ++count.active;
}
if (data.getBucketInfo().isReady()) {
- ++disk[0].ready;
+ ++count.ready;
}
- disk[0].docs += data.getBucketInfo().getDocumentCount();
- disk[0].bytes += data.getBucketInfo().getTotalDocumentSize();
+ count.docs += data.getBucketInfo().getDocumentCount();
+ count.bytes += data.getBucketInfo().getTotalDocumentSize();
if (bucket.getUsedBits() < lowestUsedBit) {
lowestUsedBit = bucket.getUsedBits();
@@ -200,16 +199,13 @@ namespace {
};
void add(const MetricsUpdater& rhs) {
- assert(diskCount == rhs.diskCount);
- for (uint16_t i = 0; i < diskCount; i++) {
- auto& d = disk[i];
- auto& s = rhs.disk[i];
- d.buckets += s.buckets;
- d.docs += s.docs;
- d.bytes += s.bytes;
- d.ready += s.ready;
- d.active += s.active;
- }
+ auto& d = count;
+ auto& s = rhs.count;
+ d.buckets += s.buckets;
+ d.docs += s.docs;
+ d.bytes += s.bytes;
+ d.ready += s.ready;
+ d.active += s.active;
}
};
@@ -230,11 +226,10 @@ BucketManager::updateMetrics(bool updateDocCount)
updateDocCount ? "" : ", minusedbits only",
_doneInitialized ? "" : ", server is not done initializing");
- const uint16_t diskCount = 1;
if (!updateDocCount || _doneInitialized) {
- MetricsUpdater total(diskCount);
+ MetricsUpdater total;
for (auto& space : _component.getBucketSpaceRepo()) {
- MetricsUpdater m(diskCount);
+ MetricsUpdater m;
auto guard = space.second->bucketDatabase().acquire_read_guard();
guard->for_each(std::ref(m));
total.add(m);
@@ -243,16 +238,16 @@ BucketManager::updateMetrics(bool updateDocCount)
assert(bm != _metrics->bucket_spaces.end());
// No system with multiple bucket spaces has more than 1 "disk"
// TODO remove disk concept entirely as it's a VDS relic
- bm->second->buckets_total.set(m.disk[0].buckets);
- bm->second->docs.set(m.disk[0].docs);
- bm->second->bytes.set(m.disk[0].bytes);
- bm->second->active_buckets.set(m.disk[0].active);
- bm->second->ready_buckets.set(m.disk[0].ready);
+ bm->second->buckets_total.set(m.count.buckets);
+ bm->second->docs.set(m.count.docs);
+ bm->second->bytes.set(m.count.bytes);
+ bm->second->active_buckets.set(m.count.active);
+ bm->second->ready_buckets.set(m.count.ready);
}
}
if (updateDocCount) {
auto & dest = *_metrics->disk;
- const auto & src = total.disk[0];
+ const auto & src = total.count;
dest.buckets.addValue(src.buckets);
dest.docs.addValue(src.docs);
dest.bytes.addValue(src.bytes);
@@ -273,7 +268,7 @@ void BucketManager::update_bucket_db_memory_usage_metrics() {
void BucketManager::updateMinUsedBits()
{
- MetricsUpdater m(1);
+ MetricsUpdater m;
_component.getBucketSpaceRepo().for_each_bucket(std::ref(m));
// When going through to get sizes, we also record min bits
MinimumUsedBitsTracker& bitTracker(_component.getMinUsedBitsTracker());