diff options
author | Tor Brede Vekterli <vekterli@verizonmedia.com> | 2021-09-27 14:11:03 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-09-27 14:11:03 +0200 |
commit | 595189c381cddd4e595b547d854a31daa98fa090 (patch) | |
tree | 96cd2a94ff502ef59620e698bb4a1ac4ec7c6d0e | |
parent | 49e33a17519c182ba0b5f860d9f29197146d2428 (diff) | |
parent | b98977ac567d60c239cf34ad5c48afc7beed6994 (diff) |
Merge pull request #19279 from vespa-engine/vekterli/explicitly-test-maintenance-inhibited-during-pending-state
Add high-level test that maintenance is inhibited during pending state transitions
-rw-r--r-- | storage/src/tests/distributor/distributor_stripe_test.cpp | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/storage/src/tests/distributor/distributor_stripe_test.cpp b/storage/src/tests/distributor/distributor_stripe_test.cpp index 418b224eb25..7fdc2578545 100644 --- a/storage/src/tests/distributor/distributor_stripe_test.cpp +++ b/storage/src/tests/distributor/distributor_stripe_test.cpp @@ -230,6 +230,25 @@ TEST_F(DistributorStripeTest, operations_generated_and_started_without_duplicate ASSERT_EQ(6, _sender.commands().size()); } +TEST_F(DistributorStripeTest, maintenance_scheduling_inhibited_if_cluster_state_is_pending) +{ + setup_stripe(Redundancy(2), NodeCount(4), "storage:3 distributor:1"); + simulate_set_pending_cluster_state("storage:4 distributor:1"); + + _sender.commands().clear(); // Remove pending bucket info requests + + tickDistributorNTimes(1); + EXPECT_FALSE(stripe_is_in_recovery_mode()); + + for (uint32_t i = 0; i < 6; ++i) { + addNodesToBucketDB(document::BucketId(16, i), "0=2"); // Needs activation, merging + } + tickDistributorNTimes(10); + + // No ops should have been actually generated + ASSERT_EQ(0, _sender.commands().size()); +} + TEST_F(DistributorStripeTest, recovery_mode_on_cluster_state_change) { setup_stripe(Redundancy(1), NodeCount(2), |