Skip to content

Commit e866d11

Browse files
Merge pull request #11670 from rabbitmq/mergify/bp/v3.13.x/pr-11668
Bump `khepri` to 0.14.0, `khepri_mnesia_migration` to 0.5.0 (backport #11668)
2 parents 4f91a4b + 84d1b8a commit e866d11

File tree

7 files changed

+27
-16
lines changed

7 files changed

+27
-16
lines changed

MODULE.bazel

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -217,15 +217,15 @@ erlang_package.hex_package(
217217
erlang_package.hex_package(
218218
name = "khepri",
219219
build_file = "@rabbitmq-server//bazel:BUILD.khepri",
220-
sha256 = "1157d963eb5c002e040bbc86348669818d1da86d259a3705008655fefbd7f1c2",
221-
version = "0.13.0",
220+
sha256 = "dccfaeb3583a04722e2258911f7f906ce67f8efac80504be4923aaafae6d4e21",
221+
version = "0.14.0",
222222
)
223223

224224
erlang_package.hex_package(
225225
name = "khepri_mnesia_migration",
226226
build_file = "@rabbitmq-server//bazel:BUILD.khepri_mnesia_migration",
227-
sha256 = "007568909c726057a6e06fb110a7309bf8bbdb9d233f09987da9388048726cbd",
228-
version = "0.4.0",
227+
sha256 = "f56d277ca7876371615cef9c5674c78854f31cf9f26ce97fd3f4b5a65573ccc4",
228+
version = "0.5.0",
229229
)
230230

231231
erlang_package.hex_package(

bazel/BUILD.khepri

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ filegroup(
5252
"src/khepri_export_erlang.erl",
5353
"src/khepri_import_export.erl",
5454
"src/khepri_machine.erl",
55+
"src/khepri_machine_v0.erl",
5556
"src/khepri_path.erl",
5657
"src/khepri_pattern_tree.erl",
5758
"src/khepri_payload.erl",
@@ -148,6 +149,7 @@ erlang_bytecode(
148149
"src/khepri_evf.erl",
149150
"src/khepri_export_erlang.erl",
150151
"src/khepri_machine.erl",
152+
"src/khepri_machine_v0.erl",
151153
"src/khepri_path.erl",
152154
"src/khepri_pattern_tree.erl",
153155
"src/khepri_payload.erl",

deps/rabbit/src/rabbit_khepri.erl

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -287,7 +287,9 @@ wait_for_leader(Timeout, Retries) ->
287287
Exists when is_boolean(Exists) ->
288288
rabbit_log:info("Khepri leader elected"),
289289
ok;
290-
{error, {timeout, _ServerId}} ->
290+
{error, timeout} -> %% Khepri >= 0.14.0
291+
wait_for_leader(Timeout, Retries -1);
292+
{error, {timeout, _ServerId}} -> %% Khepri < 0.14.0
291293
wait_for_leader(Timeout, Retries -1);
292294
{error, Reason} ->
293295
throw(Reason)
@@ -491,13 +493,13 @@ remove_down_member(NodeToRemove) ->
491493
[NodeToRemove, ?RA_CLUSTER_NAME, Reason],
492494
#{domain => ?RMQLOG_DOMAIN_GLOBAL}),
493495
Error;
494-
{timeout, _} = Reason ->
496+
{timeout, _LeaderId} ->
495497
?LOG_ERROR(
496498
"Failed to remove remote down node ~s from Khepri "
497-
"cluster \"~s\": ~p",
498-
[NodeToRemove, ?RA_CLUSTER_NAME, Reason],
499+
"cluster \"~s\" due to timeout",
500+
[NodeToRemove, ?RA_CLUSTER_NAME],
499501
#{domain => ?RMQLOG_DOMAIN_GLOBAL}),
500-
{error, Reason}
502+
{error, timeout}
501503
end.
502504

503505
%% @private

deps/rabbit/test/cluster_minority_SUITE.erl

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -188,27 +188,27 @@ consume_from_queue(Config) ->
188188
amqp_channel:call(Ch, #'basic.consume'{queue = <<"test-queue">>})).
189189

190190
add_vhost(Config) ->
191-
?assertMatch({error, {timeout, _}},
191+
?assertMatch({error, timeout},
192192
rabbit_ct_broker_helpers:add_vhost(Config, <<"vhost1">>)).
193193

194194
update_vhost(Config) ->
195-
?assertThrow({error, {timeout, _}},
195+
?assertThrow({error, timeout},
196196
rabbit_ct_broker_helpers:rpc(Config, 0, rabbit_vhost, update_tags,
197197
[<<"/">>, [carrots], <<"user">>])).
198198

199199
delete_vhost(Config) ->
200200
?assertMatch({'EXIT', _}, rabbit_ct_broker_helpers:delete_vhost(Config, <<"vhost1">>)).
201201

202202
add_user(Config) ->
203-
?assertMatch({error, {timeout, _}},
203+
?assertMatch({error, timeout},
204204
rabbit_ct_broker_helpers:add_user(Config, <<"user1">>)).
205205

206206
update_user(Config) ->
207-
?assertMatch({error, {timeout, _}},
207+
?assertMatch({error, timeout},
208208
rabbit_ct_broker_helpers:set_user_tags(Config, 0, <<"user1">>, [<<"admin">>])).
209209

210210
delete_user(Config) ->
211-
?assertMatch({error, {timeout, _}},
211+
?assertMatch({error, timeout},
212212
rabbit_ct_broker_helpers:delete_user(Config, <<"user1">>)).
213213

214214
set_policy(Config) ->

deps/rabbitmq_cli/lib/rabbitmq/cli/default_output.ex

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,13 @@ defmodule RabbitMQ.CLI.DefaultOutput do
6868
defp normalize_output({unknown, _} = input, _opts) when is_atom(unknown), do: {:error, input}
6969
defp normalize_output(result, _opts) when not is_atom(result), do: {:ok, result}
7070

71+
defp format_khepri_output({:error, :timeout}, %{node: node_name}) do
72+
# Khepri >= 0.14.0
73+
{:error, RabbitMQ.CLI.Core.ExitCodes.exit_tempfail(), khepri_timeout_error(node_name)}
74+
end
75+
7176
defp format_khepri_output({:error, {:timeout, {:rabbitmq_metadata, _}}}, %{node: node_name}) do
77+
# Khepri < 0.14.0
7278
{:error, RabbitMQ.CLI.Core.ExitCodes.exit_tempfail(), khepri_timeout_error(node_name)}
7379
end
7480

moduleindex.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -337,6 +337,7 @@ khepri:
337337
- khepri_export_erlang
338338
- khepri_import_export
339339
- khepri_machine
340+
- khepri_machine_v0
340341
- khepri_path
341342
- khepri_pattern_tree
342343
- khepri_payload

rabbitmq-components.mk

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -119,8 +119,8 @@ dep_credentials_obfuscation = hex 3.4.0
119119
dep_cuttlefish = hex 3.1.0
120120
dep_gen_batch_server = hex 0.8.8
121121
dep_jose = hex 1.11.10
122-
dep_khepri = hex 0.13.0
123-
dep_khepri_mnesia_migration = hex 0.4.0
122+
dep_khepri = hex 0.14.0
123+
dep_khepri_mnesia_migration = hex 0.5.0
124124
dep_looking_glass = git https://github.com/rabbitmq/looking_glass.git main
125125
dep_prometheus = hex 4.11.0
126126
dep_ra = hex 2.11.0

0 commit comments

Comments
 (0)