diff --git a/groups/core_all b/groups/core_all index f838862..cc33872 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 diff --git a/src/rt.erl b/src/rt.erl index 0cc2869..0739e29 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 1d932af..7d60fbd 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. diff --git a/tests/verify_dt_upgrade.erl b/tests/verify_dt_upgrade.erl index 4bddbc0..a67a005 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),