summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Bakken <lbakken@pivotal.io>2017-06-23 14:28:26 -0700
committerLuke Bakken <luke@bakken.io>2017-06-28 08:19:45 -0700
commit8eddcfed59b74aafc336321c8f92cf364b43b148 (patch)
tree73c4b169651478929ea60607482535cb94398049
parente092c285e753de60ae91f3e5a61268b9988bfb18 (diff)
downloadrabbitmq-server-git-8eddcfed59b74aafc336321c8f92cf364b43b148.tar.gz
Use rpc to synchronize queues
-rw-r--r--test/rabbit_core_metrics_gc_SUITE.erl23
1 files changed, 17 insertions, 6 deletions
diff --git a/test/rabbit_core_metrics_gc_SUITE.erl b/test/rabbit_core_metrics_gc_SUITE.erl
index c76e4de26d..8b3e935903 100644
--- a/test/rabbit_core_metrics_gc_SUITE.erl
+++ b/test/rabbit_core_metrics_gc_SUITE.erl
@@ -339,6 +339,7 @@ x(Name) ->
%% -------------------------------------------------------------------
cluster_queue_metrics(Config) ->
+ VHost = <<"/">>,
QueueName = <<"cluster_queue_metrics">>,
Node0 = rabbit_ct_broker_helpers:get_node_config(Config, 0, nodename),
@@ -348,16 +349,26 @@ cluster_queue_metrics(Config) ->
amqp_channel:call(Ch, #'basic.publish'{routing_key = QueueName},
#amqp_msg{payload = <<"hello">>}),
- % Create queue
- % Publish message
- % Apply policy
+ Node0Name = rabbit_data_coercion:to_binary(Node0),
+ Definition0 = [{<<"ha-mode">>, <<"nodes">>}, {<<"ha-params">>, [Node0Name]}],
+ rabbit_ct_broker_helpers:set_policy(Config, 0, <<"ha-policy-1">>,
+ <<".*">>, <<"queues">>, Definition0),
+
% Update policy to point to other node
+ Node1 = rabbit_ct_broker_helpers:get_node_config(Config, 1, nodename),
+ Node1Name = rabbit_data_coercion:to_binary(Node1),
+ Definition1 = [{<<"ha-mode">>, <<"nodes">>}, {<<"ha-params">>, [Node1Name]}],
+ rabbit_ct_broker_helpers:set_policy(Config, 0, <<"ha-policy-1">>,
+ <<".*">>, <<"queues">>, Definition1),
+
% Synchronize
+ Name = rabbit_misc:r(VHost, queue, QueueName),
+ [#amqqueue{pid = QPid}] = rabbit_ct_broker_helpers:rpc(Config, Node0,
+ ets, lookup, [rabbit_queue, Name]),
+ rabbit_ct_broker_helpers:rpc(Config, Node0, rabbit_amqqueue, sync_mirrors, [QPid]),
+
% Check ETS table for data
% ets:tab2list(queue_coarse_metrics).
- Node0Name = rabbit_data_coercion:to_binary(Node0),
- Definition = [{<<"ha-mode">>, <<"nodes">>}, {<<"ha-params">>, [Node0Name]}],
- rabbit_ct_broker_helpers:set_policy(Config, 0, <<"ha-policy-1">>, <<".*">>, <<"queues">>, Definition),
amqp_channel:call(Ch, #'queue.delete'{queue=QueueName}),
rabbit_ct_client_helpers:close_channel(Ch),