summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorMichael Klishin <michael@novemberain.com>2019-01-16 03:37:05 +0300
committerGitHub <noreply@github.com>2019-01-16 03:37:05 +0300
commit488d55c9885087f706ea5860e4c332403e62f7c6 (patch)
tree3cf0d78a222809dfb3296560b03745d27b90775b /test
parent46d995d1d9a13f3ba9705bbdaa6dc068814dd03c (diff)
parentbddfe15cb4ddbcb2c9d2d05ce99bfd5ad6fc03fc (diff)
downloadrabbitmq-server-git-488d55c9885087f706ea5860e4c332403e62f7c6.tar.gz
Merge pull request #1823 from rabbitmq/delete_quorum_queue_fixes
Improve quorum queue deletion
Diffstat (limited to 'test')
-rw-r--r--test/quorum_queue_SUITE.erl28
1 files changed, 17 insertions, 11 deletions
diff --git a/test/quorum_queue_SUITE.erl b/test/quorum_queue_SUITE.erl
index 0beecf6c79..dcba910a6a 100644
--- a/test/quorum_queue_SUITE.erl
+++ b/test/quorum_queue_SUITE.erl
@@ -1773,22 +1773,28 @@ cleanup_data_dir(Config) ->
declare(Ch, QQ, [{<<"x-queue-type">>, longstr, <<"quorum">>}])),
timer:sleep(100),
- [{_, UId}] = rpc:call(Server1, ra_directory, list_registered, []),
- DataDir = rpc:call(Server1, ra_env, server_data_dir, [UId]),
- ?assert(filelib:is_dir(DataDir)),
+ [{_, UId1}] = rpc:call(Server1, ra_directory, list_registered, []),
+ [{_, UId2}] = rpc:call(Server2, ra_directory, list_registered, []),
+ DataDir1 = rpc:call(Server1, ra_env, server_data_dir, [UId1]),
+ DataDir2 = rpc:call(Server2, ra_env, server_data_dir, [UId2]),
+ ?assert(filelib:is_dir(DataDir1)),
+ ?assert(filelib:is_dir(DataDir2)),
ok = rabbit_ct_broker_helpers:stop_node(Config, Server2),
- ?assertExit({{shutdown,
- {connection_closing, {server_initiated_close, 541, _}}}, _},
- amqp_channel:call(Ch, #'queue.delete'{queue = QQ})),
- catch amqp_channel:call(Ch, #'queue.delete'{queue = QQ}),
- ?assert(filelib:is_dir(DataDir)),
+ ?assertMatch(#'queue.delete_ok'{},
+ amqp_channel:call(Ch, #'queue.delete'{queue = QQ})),
+ ok = rabbit_ct_broker_helpers:stop_node(Config, Server2),
+ %% data dir 1 should be force deleted at this point
+ ?assert(not filelib:is_dir(DataDir1)),
+ ?assert(filelib:is_dir(DataDir2)),
+ ok = rabbit_ct_broker_helpers:start_node(Config, Server2),
+ timer:sleep(2000),
?assertEqual(ok,
- rpc:call(Server1, rabbit_quorum_queue, cleanup_data_dir,
- [])),
- ?assert(not filelib:is_dir(DataDir)).
+ rpc:call(Server2, rabbit_quorum_queue, cleanup_data_dir, [])),
+ ?assert(not filelib:is_dir(DataDir2)),
+ ok.
reconnect_consumer_and_publish(Config) ->
[Server | _] = Servers =