From 28ac90d95403cf7199bf2c41ab1c3fd667f6737d Mon Sep 17 00:00:00 2001 From: Steve Watanabe Date: Thu, 21 Apr 2022 13:43:40 -0700 Subject: [PATCH] MB-51838 Allow more time for magma bucket deletion This increases the timeout for deleting a magma bucket to 5 minutes. The reason is that magma may have many, many thousands of files which must be deleted. We already have comparable timeouts for magma bucket online for the same reason (handling many files). Change-Id: I04a273ef8572c161e6d8c6ace14716dfc084fc00 Reviewed-on: https://review.couchbase.org/c/ns_server/+/174007 Well-Formed: Build Bot Tested-by: Build Bot Tested-by: Steve Watanabe Reviewed-by: Navdeep S Boparai --- src/ns_orchestrator.erl | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/ns_orchestrator.erl b/src/ns_orchestrator.erl index 8e878bfd6c..1b4835b077 100644 --- a/src/ns_orchestrator.erl +++ b/src/ns_orchestrator.erl @@ -62,6 +62,7 @@ -define(SERVER, {via, leader_registry, ?MODULE}). -define(DELETE_BUCKET_TIMEOUT, ?get_timeout(delete_bucket, 30000)). +-define(DELETE_MAGMA_BUCKET_TIMEOUT, ?get_timeout(delete_bucket, 300000)). -define(FLUSH_BUCKET_TIMEOUT, ?get_timeout(flush_bucket, 60000)). -define(CREATE_BUCKET_TIMEOUT, ?get_timeout(create_bucket, 5000)). -define(JANITOR_RUN_TIMEOUT, ?get_timeout(ensure_janitor_run, 30000)). @@ -633,14 +634,20 @@ idle({delete_bucket, BucketName}, From, _State) -> Pred = fun (Active) -> not lists:member(BucketName, Active) end, + Timeout = case ns_bucket:kv_backend_type(BucketConfig) of + magma -> + ?DELETE_MAGMA_BUCKET_TIMEOUT; + _ -> + ?DELETE_BUCKET_TIMEOUT + end, LeftoverNodes = - case wait_for_nodes(Nodes, Pred, ?DELETE_BUCKET_TIMEOUT) of + case wait_for_nodes(Nodes, Pred, Timeout) of ok -> []; {timeout, LeftoverNodes0} -> ?log_warning("Nodes ~p failed to delete bucket ~p " - "within expected time.", - [LeftoverNodes0, BucketName]), + "within expected time (~p msecs).", + [LeftoverNodes0, BucketName, Timeout]), LeftoverNodes0 end,