diff options
author | Tor Brede Vekterli <vekterli@yahooinc.com> | 2021-11-30 13:51:45 +0000 |
---|---|---|
committer | Tor Brede Vekterli <vekterli@yahooinc.com> | 2021-11-30 13:51:45 +0000 |
commit | 2465ce1befaa41f5fce7c9491f913f5b2dac1467 (patch) | |
tree | 05ed94a6195de7c68e33543982c7247562ee2b35 /storage/src/tests/distributor/mergeoperationtest.cpp | |
parent | 01897e85ce899c9649e9e0b60d9cca9d3c5c3273 (diff) |
Reduce default bucket delete pri and fix priority inheritance for merge deletion
Since deletes are now async in the backend, make them FIFO-order with
client feed by default to avoid swamping the queues with deletes.
Also, explicitly inherit priority for bucket deletion triggered by
bucket merging. This was actually missing previously and meant such
deletes got the default, very low priority.
Diffstat (limited to 'storage/src/tests/distributor/mergeoperationtest.cpp')
-rw-r--r-- | storage/src/tests/distributor/mergeoperationtest.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/storage/src/tests/distributor/mergeoperationtest.cpp b/storage/src/tests/distributor/mergeoperationtest.cpp index 54bd06c98e0..e2b733c0a29 100644 --- a/storage/src/tests/distributor/mergeoperationtest.cpp +++ b/storage/src/tests/distributor/mergeoperationtest.cpp @@ -68,6 +68,7 @@ MergeOperationTest::setup_simple_merge_op(const std::vector<uint16_t>& nodes) auto op = std::make_shared<MergeOperation>(BucketAndNodes(makeDocumentBucket(document::BucketId(16, 1)), nodes)); op->setIdealStateManager(&getIdealStateManager()); + op->setPriority(api::StorageMessage::Priority(125)); op->start(_sender, framework::MilliSecTime(0)); return op; } @@ -603,4 +604,14 @@ TEST_F(MergeOperationTest, unordered_merges_only_sent_iff_config_enabled_and_all _sender.getLastCommand(true)); } +TEST_F(MergeOperationTest, delete_bucket_inherits_merge_priority) { + auto op = setup_simple_merge_op(); + ASSERT_NO_FATAL_FAILURE(assert_simple_merge_bucket_command()); + sendReply(*op); + ASSERT_NO_FATAL_FAILURE(assert_simple_delete_bucket_command()); + auto del_cmd = std::dynamic_pointer_cast<api::DeleteBucketCommand>(_sender.commands().back()); + ASSERT_TRUE(del_cmd); + EXPECT_EQ(int(del_cmd->getPriority()), int(op->getPriority())); +} + } // storage::distributor |