summaryrefslogtreecommitdiffstats
path: root/storage
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2023-08-09 07:44:24 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2023-08-09 07:44:24 +0000
commitcc5f2fa2d5dc3c0ccf4ab8699eca538b438ec42d (patch)
treef878bde6afe5062c3994705a18ebcdd1d07f1223 /storage
parent9697636fb3e86c025d4e636ef5958e7585620a1a (diff)
Use a vespalib::hash_set<uint8_t> instead of std::unordered_set
Diffstat (limited to 'storage')
-rw-r--r--storage/src/tests/distributor/mock_tickable_stripe.h2
-rw-r--r--storage/src/tests/distributor/multi_thread_stripe_access_guard_test.cpp2
-rw-r--r--storage/src/vespa/storage/distributor/distributor_stripe.cpp2
-rw-r--r--storage/src/vespa/storage/distributor/distributor_stripe.h2
-rw-r--r--storage/src/vespa/storage/distributor/multi_threaded_stripe_access_guard.cpp2
-rw-r--r--storage/src/vespa/storage/distributor/multi_threaded_stripe_access_guard.h2
-rw-r--r--storage/src/vespa/storage/distributor/outdated_nodes.h4
-rw-r--r--storage/src/vespa/storage/distributor/pending_bucket_space_db_transition.cpp8
-rw-r--r--storage/src/vespa/storage/distributor/pending_bucket_space_db_transition.h4
-rw-r--r--storage/src/vespa/storage/distributor/stripe_access_guard.h4
-rw-r--r--storage/src/vespa/storage/distributor/stripe_bucket_db_updater.cpp2
-rw-r--r--storage/src/vespa/storage/distributor/stripe_bucket_db_updater.h3
-rw-r--r--storage/src/vespa/storage/distributor/tickable_stripe.h3
13 files changed, 20 insertions, 20 deletions
diff --git a/storage/src/tests/distributor/mock_tickable_stripe.h b/storage/src/tests/distributor/mock_tickable_stripe.h
index ec2f978c029..77a6f537d28 100644
--- a/storage/src/tests/distributor/mock_tickable_stripe.h
+++ b/storage/src/tests/distributor/mock_tickable_stripe.h
@@ -23,7 +23,7 @@ struct MockTickableStripe : TickableStripe {
const lib::Distribution&,
const lib::ClusterState&,
const char*,
- const std::unordered_set<uint16_t>&,
+ const OutdatedNodes &,
const std::vector<dbtransition::Entry>&) override
{
abort();
diff --git a/storage/src/tests/distributor/multi_thread_stripe_access_guard_test.cpp b/storage/src/tests/distributor/multi_thread_stripe_access_guard_test.cpp
index 6bc98ef022e..db89b30efb2 100644
--- a/storage/src/tests/distributor/multi_thread_stripe_access_guard_test.cpp
+++ b/storage/src/tests/distributor/multi_thread_stripe_access_guard_test.cpp
@@ -25,7 +25,7 @@ struct AggregationTestingMockTickableStripe : MockTickableStripe {
}
void merge_entries_into_db(document::BucketSpace, api::Timestamp, const lib::Distribution&,
- const lib::ClusterState&, const char*, const std::unordered_set<uint16_t>&,
+ const lib::ClusterState&, const char*, const OutdatedNodes &,
const std::vector<dbtransition::Entry>& entries_in) override {
entries = entries_in;
}
diff --git a/storage/src/vespa/storage/distributor/distributor_stripe.cpp b/storage/src/vespa/storage/distributor/distributor_stripe.cpp
index 616fd77fdd7..d534feaa65a 100644
--- a/storage/src/vespa/storage/distributor/distributor_stripe.cpp
+++ b/storage/src/vespa/storage/distributor/distributor_stripe.cpp
@@ -881,7 +881,7 @@ DistributorStripe::merge_entries_into_db(document::BucketSpace bucket_space,
const lib::Distribution& distribution,
const lib::ClusterState& new_state,
const char* storage_up_states,
- const std::unordered_set<uint16_t>& outdated_nodes,
+ const OutdatedNodes& outdated_nodes,
const std::vector<dbtransition::Entry>& entries)
{
bucket_db_updater().merge_entries_into_db(bucket_space, gathered_at_timestamp, distribution,
diff --git a/storage/src/vespa/storage/distributor/distributor_stripe.h b/storage/src/vespa/storage/distributor/distributor_stripe.h
index 801efa0ff73..9fcd1906467 100644
--- a/storage/src/vespa/storage/distributor/distributor_stripe.h
+++ b/storage/src/vespa/storage/distributor/distributor_stripe.h
@@ -286,7 +286,7 @@ private:
const lib::Distribution& distribution,
const lib::ClusterState& new_state,
const char* storage_up_states,
- const std::unordered_set<uint16_t>& outdated_nodes,
+ const OutdatedNodes & outdated_nodes,
const std::vector<dbtransition::Entry>& entries) override;
void update_read_snapshot_before_db_pruning() override;
void update_read_snapshot_after_db_pruning(const lib::ClusterStateBundle& new_state) override;
diff --git a/storage/src/vespa/storage/distributor/multi_threaded_stripe_access_guard.cpp b/storage/src/vespa/storage/distributor/multi_threaded_stripe_access_guard.cpp
index b00e4ce3cba..01c2875671b 100644
--- a/storage/src/vespa/storage/distributor/multi_threaded_stripe_access_guard.cpp
+++ b/storage/src/vespa/storage/distributor/multi_threaded_stripe_access_guard.cpp
@@ -83,7 +83,7 @@ MultiThreadedStripeAccessGuard::merge_entries_into_db(document::BucketSpace buck
const lib::Distribution& distribution,
const lib::ClusterState& new_state,
const char* storage_up_states,
- const std::unordered_set<uint16_t>& outdated_nodes,
+ const OutdatedNodes & outdated_nodes,
const std::vector<dbtransition::Entry>& entries)
{
if (entries.empty()) {
diff --git a/storage/src/vespa/storage/distributor/multi_threaded_stripe_access_guard.h b/storage/src/vespa/storage/distributor/multi_threaded_stripe_access_guard.h
index c52a01fdded..7a58a784eda 100644
--- a/storage/src/vespa/storage/distributor/multi_threaded_stripe_access_guard.h
+++ b/storage/src/vespa/storage/distributor/multi_threaded_stripe_access_guard.h
@@ -46,7 +46,7 @@ public:
const lib::Distribution& distribution,
const lib::ClusterState& new_state,
const char* storage_up_states,
- const std::unordered_set<uint16_t>& outdated_nodes,
+ const OutdatedNodes & outdated_nodes,
const std::vector<dbtransition::Entry>& entries) override;
void update_read_snapshot_before_db_pruning() override;
diff --git a/storage/src/vespa/storage/distributor/outdated_nodes.h b/storage/src/vespa/storage/distributor/outdated_nodes.h
index cef799ee4aa..d014a3074a4 100644
--- a/storage/src/vespa/storage/distributor/outdated_nodes.h
+++ b/storage/src/vespa/storage/distributor/outdated_nodes.h
@@ -2,10 +2,10 @@
#pragma once
-#include <unordered_set>
+#include <vespa/vespalib/stllike/hash_set.h>
namespace storage::distributor::dbtransition {
-using OutdatedNodes = std::unordered_set<uint16_t>;
+using OutdatedNodes = vespalib::hash_set<uint16_t>;
}
diff --git a/storage/src/vespa/storage/distributor/pending_bucket_space_db_transition.cpp b/storage/src/vespa/storage/distributor/pending_bucket_space_db_transition.cpp
index 62de3b50b51..19cc7bc522f 100644
--- a/storage/src/vespa/storage/distributor/pending_bucket_space_db_transition.cpp
+++ b/storage/src/vespa/storage/distributor/pending_bucket_space_db_transition.cpp
@@ -113,10 +113,7 @@ PendingBucketSpaceDbTransition::DbMerger::removeCopiesFromNodesThatWereRequested
&& (info.getTimestamp() < _creation_timestamp)
&& e->removeNode(entryNode, TrustedUpdate::DEFER))
{
- LOG(spam,
- "Removed bucket %s from node %d",
- bucketId.toString().c_str(),
- entryNode);
+ LOG(spam, "Removed bucket %s from node %d", bucketId.toString().c_str(), entryNode);
updated = true;
// After removing current node, getNodeRef(i) will point to the _next_ node, so don't increment `i`.
} else {
@@ -391,8 +388,7 @@ PendingBucketSpaceDbTransition::markAllAvailableNodesAsRequiringRequest()
}
void
-PendingBucketSpaceDbTransition::addAdditionalNodesToOutdatedSet(
- const std::unordered_set<uint16_t>& nodes)
+PendingBucketSpaceDbTransition::addAdditionalNodesToOutdatedSet(const OutdatedNodes & nodes)
{
const uint16_t nodeCount(newStateStorageNodeCount());
for (uint16_t node : nodes) {
diff --git a/storage/src/vespa/storage/distributor/pending_bucket_space_db_transition.h b/storage/src/vespa/storage/distributor/pending_bucket_space_db_transition.h
index bce0c9bdc93..9fb6e4ed315 100644
--- a/storage/src/vespa/storage/distributor/pending_bucket_space_db_transition.h
+++ b/storage/src/vespa/storage/distributor/pending_bucket_space_db_transition.h
@@ -76,7 +76,7 @@ public:
const lib::Distribution& _distribution;
const lib::ClusterState& _new_state;
const char* _storage_up_states;
- const std::unordered_set<uint16_t>& _outdated_nodes; // TODO hash_set
+ const OutdatedNodes & _outdated_nodes; // TODO hash_set
const std::vector<dbtransition::Entry>& _entries;
uint32_t _iter;
public:
@@ -84,7 +84,7 @@ public:
const lib::Distribution& distribution,
const lib::ClusterState& new_state,
const char* storage_up_states,
- const std::unordered_set<uint16_t>& outdated_nodes,
+ const OutdatedNodes & outdated_nodes,
const std::vector<dbtransition::Entry>& entries)
: _creation_timestamp(creation_timestamp),
_distribution(distribution),
diff --git a/storage/src/vespa/storage/distributor/stripe_access_guard.h b/storage/src/vespa/storage/distributor/stripe_access_guard.h
index 2ed40cfcf2e..d2d3615b776 100644
--- a/storage/src/vespa/storage/distributor/stripe_access_guard.h
+++ b/storage/src/vespa/storage/distributor/stripe_access_guard.h
@@ -4,6 +4,7 @@
#include "bucket_space_distribution_configs.h"
#include "pending_bucket_space_db_transition_entry.h"
#include "potential_data_loss_report.h"
+#include "outdated_nodes.h"
#include <vespa/document/bucket/bucketspace.h>
#include <vespa/storageapi/defs.h>
#include <unordered_set> // TODO use hash_set instead
@@ -30,6 +31,7 @@ class NodeSupportedFeaturesRepo;
*/
class StripeAccessGuard {
public:
+ using OutdatedNodes = dbtransition::OutdatedNodes;
virtual ~StripeAccessGuard() = default;
virtual void flush_and_close() = 0;
@@ -51,7 +53,7 @@ public:
const lib::Distribution& distribution,
const lib::ClusterState& new_state,
const char* storage_up_states,
- const std::unordered_set<uint16_t>& outdated_nodes,
+ const OutdatedNodes& outdated_nodes,
const std::vector<dbtransition::Entry>& entries) = 0;
virtual void update_read_snapshot_before_db_pruning() = 0;
diff --git a/storage/src/vespa/storage/distributor/stripe_bucket_db_updater.cpp b/storage/src/vespa/storage/distributor/stripe_bucket_db_updater.cpp
index 8fce8c3137a..09e7d370a98 100644
--- a/storage/src/vespa/storage/distributor/stripe_bucket_db_updater.cpp
+++ b/storage/src/vespa/storage/distributor/stripe_bucket_db_updater.cpp
@@ -257,7 +257,7 @@ StripeBucketDBUpdater::merge_entries_into_db(document::BucketSpace bucket_space,
const lib::Distribution& distribution,
const lib::ClusterState& new_state,
const char* storage_up_states,
- const std::unordered_set<uint16_t>& outdated_nodes,
+ const OutdatedNodes & outdated_nodes,
const std::vector<dbtransition::Entry>& entries)
{
auto& s = _op_ctx.bucket_space_repo().get(bucket_space);
diff --git a/storage/src/vespa/storage/distributor/stripe_bucket_db_updater.h b/storage/src/vespa/storage/distributor/stripe_bucket_db_updater.h
index 04efe91e9e7..b8b729edbeb 100644
--- a/storage/src/vespa/storage/distributor/stripe_bucket_db_updater.h
+++ b/storage/src/vespa/storage/distributor/stripe_bucket_db_updater.h
@@ -33,6 +33,7 @@ class StripeBucketDBUpdater final
public api::MessageHandler
{
public:
+ using OutdatedNodes = dbtransition::OutdatedNodes;
StripeBucketDBUpdater(const DistributorNodeContext& node_ctx,
DistributorStripeOperationContext& op_ctx,
DistributorStripeInterface& owner,
@@ -178,7 +179,7 @@ private:
const lib::Distribution& distribution,
const lib::ClusterState& new_state,
const char* storage_up_states,
- const std::unordered_set<uint16_t>& outdated_nodes,
+ const OutdatedNodes & outdated_nodes,
const std::vector<dbtransition::Entry>& entries);
void enqueueRecheckUntilPendingStateEnabled(uint16_t node, const document::Bucket&);
diff --git a/storage/src/vespa/storage/distributor/tickable_stripe.h b/storage/src/vespa/storage/distributor/tickable_stripe.h
index e458043ac64..499cb41ee34 100644
--- a/storage/src/vespa/storage/distributor/tickable_stripe.h
+++ b/storage/src/vespa/storage/distributor/tickable_stripe.h
@@ -24,6 +24,7 @@ class NodeSupportedFeaturesRepo;
*/
class TickableStripe {
public:
+ using OutdatedNodes = dbtransition::OutdatedNodes;
virtual ~TickableStripe() = default;
// Perform a single operation tick of the stripe logic.
@@ -53,7 +54,7 @@ public:
const lib::Distribution& distribution,
const lib::ClusterState& new_state,
const char* storage_up_states,
- const std::unordered_set<uint16_t>& outdated_nodes,
+ const OutdatedNodes & outdated_nodes,
const std::vector<dbtransition::Entry>& entries) = 0;
virtual void update_read_snapshot_before_db_pruning() = 0;