Skip to content

Commit d785d99

Browse files
committed
WIP
1 parent eefcd94 commit d785d99

File tree

1 file changed

+16
-12
lines changed

1 file changed

+16
-12
lines changed

deps/rabbit/src/rabbit_db_queue.erl

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -411,24 +411,28 @@ delete_in_khepri(QueueName) ->
411411
delete_in_khepri(QueueName, false).
412412

413413
delete_in_khepri(QueueName, OnlyDurable) ->
414+
Path = khepri_queue_path(QueueName),
414415
FeatureFlag = true,
415416
case FeatureFlag of
416417
true ->
417-
Path = khepri_queue_path(QueueName),
418-
{ok, Deleted} = khepri_adv:delete(Path),
419-
Deletions = rabbit_db_binding:khepri_ret_to_deletions(
420-
Deleted, OnlyDurable),
421-
Deletions;
418+
case khepri_adv:delete(Path) of
419+
{ok, #{Path := #{data := _}} = Deleted} ->
420+
%% we want to execute some things, as decided by
421+
%% rabbit_exchange, after the transaction.
422+
rabbit_db_binding:khepri_ret_to_deletions(
423+
Deleted, OnlyDurable);
424+
{ok, _} ->
425+
ok
426+
end;
422427
false ->
428+
UsesUniformWriteRet = try
429+
khepri_tx:does_api_comply_with(uniform_write_ret)
430+
catch
431+
error:undef ->
432+
false
433+
end,
423434
rabbit_khepri:transaction(
424435
fun () ->
425-
Path = khepri_queue_path(QueueName),
426-
UsesUniformWriteRet = try
427-
khepri_tx:does_api_comply_with(uniform_write_ret)
428-
catch
429-
error:undef ->
430-
false
431-
end,
432436
Ret1 = khepri_tx_adv:delete(Path),
433437
% logger:alert("Deleted queue ret = ~p", [Ret1]),
434438
case Ret1 of

0 commit comments

Comments
 (0)