Skip to content

Commit cabf4dd

Browse files
Merge pull request #11668 from rabbitmq/md/bump-khepri-0.14.0
Bump `khepri` to 0.14.0, `khepri_mnesia_migration` to 0.5.0
2 parents ae0663d + 88c1ad2 commit cabf4dd

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
@@ -210,15 +210,15 @@ erlang_package.hex_package(
210210
erlang_package.hex_package(
211211
name = "khepri",
212212
build_file = "@rabbitmq-server//bazel:BUILD.khepri",
213-
sha256 = "1157d963eb5c002e040bbc86348669818d1da86d259a3705008655fefbd7f1c2",
214-
version = "0.13.0",
213+
sha256 = "dccfaeb3583a04722e2258911f7f906ce67f8efac80504be4923aaafae6d4e21",
214+
version = "0.14.0",
215215
)
216216

217217
erlang_package.hex_package(
218218
name = "khepri_mnesia_migration",
219219
build_file = "@rabbitmq-server//bazel:BUILD.khepri_mnesia_migration",
220-
sha256 = "007568909c726057a6e06fb110a7309bf8bbdb9d233f09987da9388048726cbd",
221-
version = "0.4.0",
220+
sha256 = "f56d277ca7876371615cef9c5674c78854f31cf9f26ce97fd3f4b5a65573ccc4",
221+
version = "0.5.0",
222222
)
223223

224224
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
@@ -187,27 +187,27 @@ consume_from_queue(Config) ->
187187
amqp_channel:call(Ch, #'basic.consume'{queue = <<"test-queue">>})).
188188

189189
add_vhost(Config) ->
190-
?assertMatch({error, {timeout, _}},
190+
?assertMatch({error, timeout},
191191
rabbit_ct_broker_helpers:add_vhost(Config, <<"vhost1">>)).
192192

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

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

201201
add_user(Config) ->
202-
?assertMatch({error, {timeout, _}},
202+
?assertMatch({error, timeout},
203203
rabbit_ct_broker_helpers:add_user(Config, <<"user1">>)).
204204

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

209209
delete_user(Config) ->
210-
?assertMatch({error, {timeout, _}},
210+
?assertMatch({error, timeout},
211211
rabbit_ct_broker_helpers:delete_user(Config, <<"user1">>)).
212212

213213
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
@@ -342,6 +342,7 @@ khepri:
342342
- khepri_export_erlang
343343
- khepri_import_export
344344
- khepri_machine
345+
- khepri_machine_v0
345346
- khepri_path
346347
- khepri_pattern_tree
347348
- khepri_payload

rabbitmq-components.mk

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -118,8 +118,8 @@ dep_credentials_obfuscation = hex 3.4.0
118118
dep_cuttlefish = hex 3.1.0
119119
dep_gen_batch_server = hex 0.8.8
120120
dep_jose = hex 1.11.10
121-
dep_khepri = hex 0.13.0
122-
dep_khepri_mnesia_migration = hex 0.4.0
121+
dep_khepri = hex 0.14.0
122+
dep_khepri_mnesia_migration = hex 0.5.0
123123
dep_prometheus = hex 4.11.0
124124
dep_ra = hex 2.11.0
125125
dep_ranch = hex 2.1.0

0 commit comments

Comments
 (0)