From 1f380e55152c6d49415fff0b589232ccac155f61 Mon Sep 17 00:00:00 2001 From: Andriy Zavada Date: Fri, 24 Jul 2026 02:02:13 +0100 Subject: [PATCH 1/3] don't try to look up backend in test_runner metadata use rt:get_backends/0 instead, which was written for this purpose --- src/rt.erl | 16 +++++++++------- tests/verify_basic_upgrade.erl | 14 ++++++++++---- 2 files changed, 19 insertions(+), 11 deletions(-) diff --git a/src/rt.erl b/src/rt.erl index 0cc2869a..0739e295 100644 --- a/src/rt.erl +++ b/src/rt.erl @@ -2706,14 +2706,16 @@ make_multi_backend_config(Other) -> get_backends() -> Backends = ?HARNESS:get_backends(), case Backends of - [riak_kv_bitcask_backend] -> bitcask; - [riak_kv_eleveldb_backend] -> eleveldb; - [riak_kv_memory_backend] -> memory; - [riak_kv_leveled_backend] -> leveled; - [Other] -> Other; - MoreThanOne -> MoreThanOne + [Single] -> known_backend(Single); + MoreThanOne -> [known_backend(A) || A <- MoreThanOne] end. +known_backend(riak_kv_bitcask_backend) -> bitcask; +known_backend(riak_kv_eleveldb_backend) -> eleveldb; +known_backend(riak_kv_memory_backend) -> memory; +known_backend(riak_kv_leveled_backend) -> leveled; +known_backend(X) -> X. + -spec get_backend(rtt:app_config()) -> rtt:backend() | error. get_backend(AppConfigProplist) -> case kvc:path('riak_kv.storage_backend', AppConfigProplist) of @@ -3402,4 +3404,4 @@ product_test_() -> ?_test(verify_product([kernel], unknown)) ]}. --endif. \ No newline at end of file +-endif. diff --git a/tests/verify_basic_upgrade.erl b/tests/verify_basic_upgrade.erl index 1d932af0..7d60fbda 100644 --- a/tests/verify_basic_upgrade.erl +++ b/tests/verify_basic_upgrade.erl @@ -111,8 +111,8 @@ confirm() -> + KVBackend = get_backend(), TestMetaData = riak_test_runner:metadata(), - KVBackend = proplists:get_value(backend, TestMetaData), OldVsn = proplists:get_value(upgrade_version, TestMetaData, previous), ?LOG_INFO("*****************************"), @@ -181,8 +181,7 @@ upgrade(Node, NewVsn) -> ok. backend_size(Node) -> - TestMetaData = riak_test_runner:metadata(), - KVBackend = proplists:get_value(backend, TestMetaData), + KVBackend = get_backend(), {ok, DataDir} = rpc:call(Node, application, get_env, [riak_core, platform_data_dir]), BackendDir = filename:join(DataDir, base_dir_for_backend(KVBackend)), @@ -192,6 +191,13 @@ backend_size(Node) -> re:run(SzTxt, "(?[0-9]+)M.*", [{capture, all_names, list}]), list_to_integer(SzOnly). +get_backend() -> + case rt:get_backends() of + [B1|_] -> + B1; + B -> B + end. + base_dir_for_backend(leveled) -> "leveled"; base_dir_for_backend(bitcask) -> @@ -227,4 +233,4 @@ validate_value(Node, Bucket, StartKey, EndKey, Value, CheckPerc) -> value_matches(<>, N, CommonValBin) -> true; value_matches(_WrongVal, _N, _CommonValBin) -> - false. \ No newline at end of file + false. From 841115c78d35784ed46f2e1915ae2a05490c5c7b Mon Sep 17 00:00:00 2001 From: Andriy Zavada Date: Fri, 24 Jul 2026 02:02:55 +0100 Subject: [PATCH 2/3] bring back verify_build_cluster_caps_race into group core_all --- groups/core_all | 1 + 1 file changed, 1 insertion(+) diff --git a/groups/core_all b/groups/core_all index f838862f..cc338729 100644 --- a/groups/core_all +++ b/groups/core_all @@ -13,6 +13,7 @@ location_upgrade node_repair_big node_repair_nval verify_build_cluster +verify_build_cluster_caps_race verify_claimant verify_dynamic_ring verify_leave From 118d7fa9d0b42aeba1d63e8b5be90678f8480e89 Mon Sep 17 00:00:00 2001 From: Andriy Zavada Date: Sun, 26 Jul 2026 00:27:56 +0100 Subject: [PATCH 3/3] verify_dt_upgrade: wait to allow caps to propagate on node upgrade --- tests/verify_dt_upgrade.erl | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/tests/verify_dt_upgrade.erl b/tests/verify_dt_upgrade.erl index 4bddbc0d..a67a0059 100644 --- a/tests/verify_dt_upgrade.erl +++ b/tests/verify_dt_upgrade.erl @@ -69,7 +69,9 @@ populate_counters(Node) -> verify_counters(Node) -> ?LOG_INFO("Verifying counters on ~0p", [Node]), RHC = rt:httpc(Node), - ?assertMatch({ok, 4}, rhc:counter_val(RHC, ?COUNTER_BUCKET, <<"pbkey">>)), + PBKey = <<"pbkey">>, + rt:wait_until(not_503(RHC, PBKey)), + ?assertMatch({ok, 4}, rhc:counter_val(RHC, ?COUNTER_BUCKET, PBKey)), PBC = rt:pbc(Node), ?assertEqual({ok, 2}, riakc_pb_socket:counter_val(PBC, ?COUNTER_BUCKET, <<"httpkey">>)), @@ -83,6 +85,19 @@ verify_counters(Node) -> end, ok. +not_503(Client, Key) -> + fun() -> + Res = rhc:counter_val(Client, ?COUNTER_BUCKET, Key), + case Res of + %% expect 503 for a brief while + {error, {ok, "503", _Headers, <<"Counters are not supported.">>}} -> + ?LOG_INFO("\"Counters are not supported\" pending caps negotiation post upgrade", []), + false; + _ -> + true + end + end. + upgrade(Node, NewVsn) -> ?LOG_INFO("Upgrading ~0p to ~0p", [Node, NewVsn]), rt:upgrade(Node, NewVsn),