diff --git a/deps/rabbit/src/rabbit_db_binding.erl b/deps/rabbit/src/rabbit_db_binding.erl index d06ca98dede2..60d52295bda7 100644 --- a/deps/rabbit/src/rabbit_db_binding.erl +++ b/deps/rabbit/src/rabbit_db_binding.erl @@ -616,7 +616,7 @@ clear() -> _Kind = ?KHEPRI_WILDCARD_STAR, _DstName = ?KHEPRI_WILDCARD_STAR, _RoutingKey = ?KHEPRI_WILDCARD_STAR), - case rabbit_khepri:delete(Path) of + case rabbit_khepri:delete_many(Path) of ok -> ok; Error -> throw(Error) end. diff --git a/deps/rabbit/src/rabbit_db_exchange.erl b/deps/rabbit/src/rabbit_db_exchange.erl index 74dad299d3c6..b1503b893f9a 100644 --- a/deps/rabbit/src/rabbit_db_exchange.erl +++ b/deps/rabbit/src/rabbit_db_exchange.erl @@ -585,7 +585,7 @@ clear_exchange_serials_in_khepri() -> khepri_delete(Path). khepri_delete(Path) -> - case rabbit_khepri:delete(Path) of + case rabbit_khepri:delete_many(Path) of ok -> ok; Error -> throw(Error) end. diff --git a/deps/rabbit/src/rabbit_db_maintenance_m2k_converter.erl b/deps/rabbit/src/rabbit_db_maintenance_m2k_converter.erl index efdf55386b63..1df39d2b2d3d 100644 --- a/deps/rabbit/src/rabbit_db_maintenance_m2k_converter.erl +++ b/deps/rabbit/src/rabbit_db_maintenance_m2k_converter.erl @@ -86,7 +86,7 @@ delete_from_khepri(rabbit_node_maintenance_states = Table, Key, State) -> clear_data_in_khepri(rabbit_node_maintenance_states) -> Path = rabbit_db_maintenance:khepri_maintenance_path(?KHEPRI_WILDCARD_STAR), - case rabbit_khepri:delete(Path) of + case rabbit_khepri:delete_many(Path) of ok -> ok; Error -> throw(Error) end. diff --git a/deps/rabbit/src/rabbit_db_msup.erl b/deps/rabbit/src/rabbit_db_msup.erl index 76fcab1bbdb1..89f79269adf9 100644 --- a/deps/rabbit/src/rabbit_db_msup.erl +++ b/deps/rabbit/src/rabbit_db_msup.erl @@ -140,9 +140,9 @@ delete_all(Group) -> Pattern = #mirrored_sup_childspec{key = {Group, '_'}, _ = '_'}, Conditions = [?KHEPRI_WILDCARD_STAR_STAR, #if_data_matches{pattern = Pattern}], - rabbit_khepri:delete(khepri_mirrored_supervisor_path( - ?KHEPRI_WILDCARD_STAR, - #if_all{conditions = Conditions})). + rabbit_khepri:delete_many(khepri_mirrored_supervisor_path( + ?KHEPRI_WILDCARD_STAR, + #if_all{conditions = Conditions})). %% ------------------------------------------------------------------- %% clear(). @@ -153,7 +153,7 @@ delete_all(Group) -> clear() -> Path = khepri_mirrored_supervisor_path( ?KHEPRI_WILDCARD_STAR, ?KHEPRI_WILDCARD_STAR_STAR), - case rabbit_khepri:delete(Path) of + case rabbit_khepri:delete_many(Path) of ok -> ok; Error -> throw(Error) end. diff --git a/deps/rabbit/src/rabbit_db_queue.erl b/deps/rabbit/src/rabbit_db_queue.erl index fb11277b7cd2..d4570b894e86 100644 --- a/deps/rabbit/src/rabbit_db_queue.erl +++ b/deps/rabbit/src/rabbit_db_queue.erl @@ -951,7 +951,7 @@ get_in_khepri_tx(Name) -> clear() -> Path = khepri_queue_path(?KHEPRI_WILDCARD_STAR, ?KHEPRI_WILDCARD_STAR), - case rabbit_khepri:delete(Path) of + case rabbit_khepri:delete_many(Path) of ok -> ok; Error -> throw(Error) end. diff --git a/deps/rabbit/src/rabbit_db_rtparams.erl b/deps/rabbit/src/rabbit_db_rtparams.erl index 614bdf4bac13..40ece7d11bb6 100644 --- a/deps/rabbit/src/rabbit_db_rtparams.erl +++ b/deps/rabbit/src/rabbit_db_rtparams.erl @@ -219,7 +219,7 @@ delete(VHostName, Comp, Name) do_delete(Key) -> Path = khepri_rp_path(Key), - ok = rabbit_khepri:delete(Path). + ok = rabbit_khepri:delete_many(Path). %% ------------------------------------------------------------------- %% delete_vhost(). @@ -239,7 +239,7 @@ do_delete(Key) -> delete_vhost(VHostName) when is_binary(VHostName) -> Pattern = khepri_vhost_rp_path( VHostName, ?KHEPRI_WILDCARD_STAR, ?KHEPRI_WILDCARD_STAR), - case rabbit_khepri:adv_delete(Pattern) of + case rabbit_khepri:adv_delete_many(Pattern) of {ok, NodePropsMap} -> RTParams = maps:fold( diff --git a/deps/rabbit/src/rabbit_db_rtparams_m2k_converter.erl b/deps/rabbit/src/rabbit_db_rtparams_m2k_converter.erl index 5b2b1683dd26..1f170ed3e978 100644 --- a/deps/rabbit/src/rabbit_db_rtparams_m2k_converter.erl +++ b/deps/rabbit/src/rabbit_db_rtparams_m2k_converter.erl @@ -90,7 +90,7 @@ rtparams_path(Key) -> clear_data_in_khepri(rabbit_runtime_parameters) -> Path1 = rabbit_db_rtparams:khepri_global_rp_path(?KHEPRI_WILDCARD_STAR), - case rabbit_khepri:delete(Path1) of + case rabbit_khepri:delete_many(Path1) of ok -> ok; Error1 -> throw(Error1) end, @@ -98,7 +98,7 @@ clear_data_in_khepri(rabbit_runtime_parameters) -> ?KHEPRI_WILDCARD_STAR, ?KHEPRI_WILDCARD_STAR, ?KHEPRI_WILDCARD_STAR), - case rabbit_khepri:delete(Path2) of + case rabbit_khepri:delete_many(Path2) of ok -> ok; Error2 -> throw(Error2) end. diff --git a/deps/rabbit/src/rabbit_db_user.erl b/deps/rabbit/src/rabbit_db_user.erl index 2a9ffbd6a5cb..56672a1a148a 100644 --- a/deps/rabbit/src/rabbit_db_user.erl +++ b/deps/rabbit/src/rabbit_db_user.erl @@ -336,7 +336,7 @@ clear_matching_user_permissions(Username, VHostName) when (is_binary(Username) orelse Username =:= '_') andalso (is_binary(VHostName) orelse VHostName =:= '_') -> Path = khepri_user_permission_path(any(Username), any(VHostName)), - ok = rabbit_khepri:delete(Path). + ok = rabbit_khepri:delete_many(Path). any('_') -> ?KHEPRI_WILDCARD_STAR; any(Value) -> Value. @@ -553,7 +553,7 @@ clear_topic_permissions(Username, VHostName, ExchangeName) when is_binary(Username) andalso is_binary(VHostName) andalso (is_binary(ExchangeName) orelse ExchangeName =:= '_') -> Path = khepri_topic_permission_path(any(Username), any(VHostName), any(ExchangeName)), - rabbit_khepri:delete(Path). + rabbit_khepri:delete_many(Path). %% ------------------------------------------------------------------- %% clear_matching_topic_permissions(). @@ -575,7 +575,7 @@ clear_matching_topic_permissions(Username, VHostName, ExchangeName) (is_binary(ExchangeName) orelse ExchangeName =:= '_') -> Path = khepri_topic_permission_path( any(Username), any(VHostName), any(ExchangeName)), - ok = rabbit_khepri:delete(Path). + ok = rabbit_khepri:delete_many(Path). %% ------------------------------------------------------------------- %% delete(). @@ -610,7 +610,7 @@ delete(Username) when is_binary(Username) -> clear() -> Path = khepri_user_path(?KHEPRI_WILDCARD_STAR), - case rabbit_khepri:delete(Path) of + case rabbit_khepri:delete_many(Path) of ok -> ok; Error -> throw(Error) end. diff --git a/deps/rabbit/src/rabbit_db_vhost.erl b/deps/rabbit/src/rabbit_db_vhost.erl index e056092cee23..a4acbea6dea8 100644 --- a/deps/rabbit/src/rabbit_db_vhost.erl +++ b/deps/rabbit/src/rabbit_db_vhost.erl @@ -367,7 +367,7 @@ delete(VHostName) when is_binary(VHostName) -> clear() -> Path = khepri_vhost_path(?KHEPRI_WILDCARD_STAR), - case rabbit_khepri:delete(Path) of + case rabbit_khepri:delete_many(Path) of ok -> ok; Error -> throw(Error) end. diff --git a/deps/rabbit/src/rabbit_khepri.erl b/deps/rabbit/src/rabbit_khepri.erl index 7d3a5e02d331..aa3e380ea25e 100644 --- a/deps/rabbit/src/rabbit_khepri.erl +++ b/deps/rabbit/src/rabbit_khepri.erl @@ -155,7 +155,9 @@ adv_update/2, adv_update/3, delete/1, delete/2, + delete_many/1, delete_many/2, adv_delete/1, adv_delete/2, + adv_delete_many/1, adv_delete_many/2, clear_payload/1, clear_payload/2, transaction/1, transaction/2, transaction/3, @@ -1244,6 +1246,13 @@ delete(PathPattern) -> delete(PathPattern, #{}). delete(PathPattern, Options) -> + Options1 = maps:merge(?DEFAULT_COMMAND_OPTIONS, Options), + khepri:delete(?STORE_ID, PathPattern, Options1). + +delete_many(PathPattern) -> + delete_many(PathPattern, #{}). + +delete_many(PathPattern, Options) -> Options1 = maps:merge(?DEFAULT_COMMAND_OPTIONS, Options), khepri:delete_many(?STORE_ID, PathPattern, Options1). @@ -1251,6 +1260,13 @@ adv_delete(PathPattern) -> adv_delete(PathPattern, #{}). adv_delete(PathPattern, Options) -> + Options1 = maps:merge(?DEFAULT_COMMAND_OPTIONS, Options), + khepri_adv:delete(?STORE_ID, PathPattern, Options1). + +adv_delete_many(PathPattern) -> + adv_delete_many(PathPattern, #{}). + +adv_delete_many(PathPattern, Options) -> Options1 = maps:merge(?DEFAULT_COMMAND_OPTIONS, Options), khepri_adv:delete_many(?STORE_ID, PathPattern, Options1). diff --git a/deps/rabbitmq_consistent_hash_exchange/src/rabbit_db_ch_exchange_m2k_converter.erl b/deps/rabbitmq_consistent_hash_exchange/src/rabbit_db_ch_exchange_m2k_converter.erl index 74133aadad11..e3fba32003e8 100644 --- a/deps/rabbitmq_consistent_hash_exchange/src/rabbit_db_ch_exchange_m2k_converter.erl +++ b/deps/rabbitmq_consistent_hash_exchange/src/rabbit_db_ch_exchange_m2k_converter.erl @@ -92,7 +92,7 @@ delete_from_khepri(?HASH_RING_STATE_TABLE = Table, Key, State) -> clear_data_in_khepri(?HASH_RING_STATE_TABLE) -> Path = rabbit_db_ch_exchange:khepri_consistent_hash_path( ?KHEPRI_WILDCARD_STAR, ?KHEPRI_WILDCARD_STAR), - case rabbit_khepri:delete(Path) of + case rabbit_khepri:delete_many(Path) of ok -> ok; Error -> diff --git a/deps/rabbitmq_jms_topic_exchange/src/rabbit_db_jms_exchange_m2k_converter.erl b/deps/rabbitmq_jms_topic_exchange/src/rabbit_db_jms_exchange_m2k_converter.erl index f73929c7b612..4a5f9f1faa8b 100644 --- a/deps/rabbitmq_jms_topic_exchange/src/rabbit_db_jms_exchange_m2k_converter.erl +++ b/deps/rabbitmq_jms_topic_exchange/src/rabbit_db_jms_exchange_m2k_converter.erl @@ -90,7 +90,7 @@ delete_from_khepri(?JMS_TOPIC_TABLE = Table, Key, State) -> clear_data_in_khepri(?JMS_TOPIC_TABLE) -> Path = rabbit_db_jms_exchange:khepri_jms_topic_exchange_path( ?KHEPRI_WILDCARD_STAR, ?KHEPRI_WILDCARD_STAR), - case rabbit_khepri:delete(Path) of + case rabbit_khepri:delete_many(Path) of ok -> ok; Error -> diff --git a/deps/rabbitmq_recent_history_exchange/src/rabbit_db_rh_exchange.erl b/deps/rabbitmq_recent_history_exchange/src/rabbit_db_rh_exchange.erl index 5a9f27b3c7f7..e4446248dfd6 100644 --- a/deps/rabbitmq_recent_history_exchange/src/rabbit_db_rh_exchange.erl +++ b/deps/rabbitmq_recent_history_exchange/src/rabbit_db_rh_exchange.erl @@ -75,7 +75,7 @@ add_to_cache(Cached, Message, Length) -> delete() -> Path = khepri_recent_history_path( ?KHEPRI_WILDCARD_STAR, ?KHEPRI_WILDCARD_STAR), - rabbit_khepri:delete(Path). + rabbit_khepri:delete_many(Path). delete(XName) -> Path = khepri_recent_history_path(XName),