diff options
author | Simon MacMullen <simon@rabbitmq.com> | 2014-09-17 14:56:33 +0100 |
---|---|---|
committer | Simon MacMullen <simon@rabbitmq.com> | 2014-09-17 14:56:33 +0100 |
commit | 4bf5e38631ee0ea97b2ecb1ec3c874daf1fe6b57 (patch) | |
tree | 6543f2536b34b3015c8ed1f0733abc44fca4c7c7 | |
parent | 1c086dbfb840b341d54f8709208b93ba47c31a95 (diff) | |
parent | 9a2e915c28a9ee4098cbefd39ae5eda4e88ca23b (diff) | |
download | rabbitmq-server-4bf5e38631ee0ea97b2ecb1ec3c874daf1fe6b57.tar.gz |
Merge bug26211
-rw-r--r-- | Makefile | 4 | ||||
-rw-r--r-- | src/credit_flow.erl | 2 | ||||
-rw-r--r-- | src/dtree.erl | 2 | ||||
-rw-r--r-- | src/lqueue.erl | 2 | ||||
-rw-r--r-- | src/pmon.erl | 2 | ||||
-rw-r--r-- | src/rabbit_amqqueue_process.erl | 2 | ||||
-rw-r--r-- | src/rabbit_backing_queue.erl | 4 | ||||
-rw-r--r-- | src/rabbit_binding.erl | 4 | ||||
-rw-r--r-- | src/rabbit_mirror_queue_master.erl | 8 | ||||
-rw-r--r-- | src/rabbit_misc.erl | 15 | ||||
-rw-r--r-- | src/rabbit_msg_store.erl | 4 | ||||
-rw-r--r-- | src/rabbit_queue_index.erl | 8 | ||||
-rw-r--r-- | src/rabbit_runtime_parameter.erl | 2 | ||||
-rw-r--r-- | src/rabbit_variable_queue.erl | 12 | ||||
-rw-r--r-- | src/supervisor2.erl | 2 |
15 files changed, 39 insertions, 34 deletions
@@ -40,9 +40,9 @@ BASIC_PLT=basic.plt RABBIT_PLT=rabbit.plt ifndef USE_SPECS -# our type specs rely on callback specs, which are available in R15B +# our type specs rely on dict:dict/0 etc, which are only available in 17.0 # upwards. -USE_SPECS:=$(shell erl -noshell -eval 'io:format([list_to_integer(X) || X <- string:tokens(erlang:system_info(version), ".")] >= [5,9]), halt().') +USE_SPECS:=$(shell erl -noshell -eval 'io:format([list_to_integer(X) || X <- string:tokens(erlang:system_info(version), ".")] >= [5,11]), halt().') endif ifndef USE_PROPER_QC diff --git a/src/credit_flow.erl b/src/credit_flow.erl index 3a640df1..89320621 100644 --- a/src/credit_flow.erl +++ b/src/credit_flow.erl @@ -37,6 +37,8 @@ -ifdef(use_specs). +-export_type([bump_msg/0]). + -opaque(bump_msg() :: {pid(), non_neg_integer()}). -type(credit_spec() :: {non_neg_integer(), non_neg_integer()}). diff --git a/src/dtree.erl b/src/dtree.erl index 89a34c9e..9013bd6d 100644 --- a/src/dtree.erl +++ b/src/dtree.erl @@ -41,7 +41,7 @@ -export_type([?MODULE/0]). --opaque(?MODULE() :: {gb_tree(), gb_tree()}). +-opaque(?MODULE() :: {gb_trees:tree(), gb_trees:tree()}). -type(pk() :: any()). -type(sk() :: any()). diff --git a/src/lqueue.erl b/src/lqueue.erl index 787f5088..62f60d5f 100644 --- a/src/lqueue.erl +++ b/src/lqueue.erl @@ -25,7 +25,7 @@ -export_type([?MODULE/0]). --opaque(?MODULE() :: {non_neg_integer(), ?QUEUE()}). +-opaque(?MODULE() :: {non_neg_integer(), ?QUEUE:?QUEUE()}). -type(value() :: any()). -type(result() :: 'empty' | {'value', value()}). diff --git a/src/pmon.erl b/src/pmon.erl index de3e9fea..a94f5a67 100644 --- a/src/pmon.erl +++ b/src/pmon.erl @@ -29,7 +29,7 @@ -export_type([?MODULE/0]). --opaque(?MODULE() :: #state{dict :: dict(), +-opaque(?MODULE() :: #state{dict :: dict:dict(), module :: atom()}). -type(item() :: pid() | {atom(), node()}). diff --git a/src/rabbit_amqqueue_process.erl b/src/rabbit_amqqueue_process.erl index fcf17381..b06da4c1 100644 --- a/src/rabbit_amqqueue_process.erl +++ b/src/rabbit_amqqueue_process.erl @@ -64,7 +64,7 @@ -spec(info_keys/0 :: () -> rabbit_types:info_keys()). -spec(init_with_backing_queue_state/7 :: (rabbit_types:amqqueue(), atom(), tuple(), any(), - [rabbit_types:delivery()], pmon:pmon(), dict()) -> #q{}). + [rabbit_types:delivery()], pmon:pmon(), dict:dict()) -> #q{}). -endif. diff --git a/src/rabbit_backing_queue.erl b/src/rabbit_backing_queue.erl index b4bdb0af..4ce133c3 100644 --- a/src/rabbit_backing_queue.erl +++ b/src/rabbit_backing_queue.erl @@ -255,8 +255,8 @@ behaviour_info(callbacks) -> {fetch, 2}, {ack, 2}, {requeue, 2}, {ackfold, 4}, {fold, 3}, {len, 1}, {is_empty, 1}, {depth, 1}, {set_ram_duration_target, 2}, {ram_duration, 1}, {needs_timeout, 1}, {timeout, 1}, - {handle_pre_hibernate, 1}, {resume, 1}, {msg_rates, 1}, {info_keys, 0}, - {infos, 2}, {invoke, 3}, {is_duplicate, 2}] ; + {handle_pre_hibernate, 1}, {resume, 1}, {msg_rates, 1}, + {info, 2}, {invoke, 3}, {is_duplicate, 2}] ; behaviour_info(_Other) -> undefined. diff --git a/src/rabbit_binding.erl b/src/rabbit_binding.erl index 12082af8..12d4df99 100644 --- a/src/rabbit_binding.erl +++ b/src/rabbit_binding.erl @@ -52,7 +52,9 @@ rabbit_types:ok_or_error(rabbit_types:amqp_error()))). -type(bindings() :: [rabbit_types:binding()]). --opaque(deletions() :: dict()). +%% TODO this should really be opaque but that seems to confuse 17.1's +%% dialyzer into objecting to everything that uses it. +-type(deletions() :: dict:dict()). -spec(recover/2 :: ([rabbit_exchange:name()], [rabbit_amqqueue:name()]) -> 'ok'). diff --git a/src/rabbit_mirror_queue_master.erl b/src/rabbit_mirror_queue_master.erl index 5ce22271..f1b1a8a5 100644 --- a/src/rabbit_mirror_queue_master.erl +++ b/src/rabbit_mirror_queue_master.erl @@ -56,14 +56,14 @@ coordinator :: pid(), backing_queue :: atom(), backing_queue_state :: any(), - seen_status :: dict(), + seen_status :: dict:dict(), confirmed :: [rabbit_guid:guid()], - known_senders :: set() + known_senders :: sets:set() }). -spec(promote_backing_queue_state/8 :: - (rabbit_amqqueue:name(), pid(), atom(), any(), pid(), [any()], dict(), - [pid()]) -> master_state()). + (rabbit_amqqueue:name(), pid(), atom(), any(), pid(), [any()], + dict:dict(), [pid()]) -> master_state()). -spec(sender_death_fun/0 :: () -> death_fun()). -spec(depth_fun/0 :: () -> depth_fun()). -spec(init_with_existing_bq/3 :: (rabbit_types:amqqueue(), atom(), any()) -> diff --git a/src/rabbit_misc.erl b/src/rabbit_misc.erl index 84a00f0d..a984d1f9 100644 --- a/src/rabbit_misc.erl +++ b/src/rabbit_misc.erl @@ -191,7 +191,7 @@ -spec(format_stderr/2 :: (string(), [any()]) -> 'ok'). -spec(unfold/2 :: (fun ((A) -> ({'true', B, A} | 'false')), A) -> {[B], A}). -spec(ceil/1 :: (number()) -> integer()). --spec(queue_fold/3 :: (fun ((any(), B) -> B), B, queue()) -> B). +-spec(queue_fold/3 :: (fun ((any(), B) -> B), B, queue:queue()) -> B). -spec(sort_field_table/1 :: (rabbit_framing:amqp_table()) -> rabbit_framing:amqp_table()). -spec(pid_to_string/1 :: (pid()) -> string()). @@ -202,17 +202,18 @@ (string(), string(), ('lt' | 'lte' | 'eq' | 'gte' | 'gt')) -> boolean()). -spec(version_minor_equivalent/2 :: (string(), string()) -> boolean()). --spec(dict_cons/3 :: (any(), any(), dict()) -> dict()). +-spec(dict_cons/3 :: (any(), any(), dict:dict()) -> dict:dict()). -spec(orddict_cons/3 :: (any(), any(), orddict:orddict()) -> orddict:orddict()). --spec(gb_trees_cons/3 :: (any(), any(), gb_tree()) -> gb_tree()). --spec(gb_trees_fold/3 :: (fun ((any(), any(), A) -> A), A, gb_tree()) -> A). +-spec(gb_trees_cons/3 :: (any(), any(), gb_trees:tree()) -> gb_trees:tree()). +-spec(gb_trees_fold/3 :: (fun ((any(), any(), A) -> A), A, gb_trees:tree()) + -> A). -spec(gb_trees_foreach/2 :: - (fun ((any(), any()) -> any()), gb_tree()) -> 'ok'). + (fun ((any(), any()) -> any()), gb_trees:tree()) -> 'ok'). -spec(all_module_attributes/1 :: (atom()) -> [{atom(), atom(), [term()]}]). -spec(build_acyclic_graph/3 :: (graph_vertex_fun(), graph_edge_fun(), [{atom(), [term()]}]) - -> rabbit_types:ok_or_error2(digraph(), + -> rabbit_types:ok_or_error2(digraph:digraph(), {'vertex', 'duplicate', digraph:vertex()} | {'edge', ({bad_vertex, digraph:vertex()} | {bad_edge, [digraph:vertex()]}), @@ -229,7 +230,7 @@ -spec(format_message_queue/2 :: (any(), priority_queue:q()) -> term()). -spec(append_rpc_all_nodes/4 :: ([node()], atom(), atom(), [any()]) -> [any()]). -spec(os_cmd/1 :: (string()) -> string()). --spec(gb_sets_difference/2 :: (gb_set(), gb_set()) -> gb_set()). +-spec(gb_sets_difference/2 :: (gb_sets:set(), gb_sets:set()) -> gb_sets:set()). -spec(version/0 :: () -> string()). -spec(which_applications/0 :: () -> [{atom(), string(), string()}]). -spec(sequence_error/1 :: ([({'error', any()} | any())]) diff --git a/src/rabbit_msg_store.erl b/src/rabbit_msg_store.erl index d97c2ad5..b829ae94 100644 --- a/src/rabbit_msg_store.erl +++ b/src/rabbit_msg_store.erl @@ -126,7 +126,7 @@ -type(client_msstate() :: #client_msstate { server :: server(), client_ref :: client_ref(), - file_handle_cache :: dict(), + file_handle_cache :: dict:dict(), index_state :: any(), index_module :: atom(), dir :: file:filename(), @@ -139,7 +139,7 @@ fun ((A) -> 'finished' | {rabbit_types:msg_id(), non_neg_integer(), A})). -type(maybe_msg_id_fun() :: - 'undefined' | fun ((gb_set(), 'written' | 'ignored') -> any())). + 'undefined' | fun ((gb_sets:set(), 'written' | 'ignored') -> any())). -type(maybe_close_fds_fun() :: 'undefined' | fun (() -> 'ok')). -type(deletion_thunk() :: fun (() -> boolean())). diff --git a/src/rabbit_queue_index.erl b/src/rabbit_queue_index.erl index f21b44bc..0a2c88d4 100644 --- a/src/rabbit_queue_index.erl +++ b/src/rabbit_queue_index.erl @@ -181,19 +181,19 @@ -type(segment() :: ('undefined' | #segment { num :: non_neg_integer(), path :: file:filename(), - journal_entries :: array(), + journal_entries :: array:array(), unacked :: non_neg_integer() })). -type(seq_id() :: integer()). --type(seg_dict() :: {dict(), [segment()]}). --type(on_sync_fun() :: fun ((gb_set()) -> ok)). +-type(seg_dict() :: {dict:dict(), [segment()]}). +-type(on_sync_fun() :: fun ((gb_sets:set()) -> ok)). -type(qistate() :: #qistate { dir :: file:filename(), segments :: 'undefined' | seg_dict(), journal_handle :: hdl(), dirty_count :: integer(), max_journal_entries :: non_neg_integer(), on_sync :: on_sync_fun(), - unconfirmed :: gb_set() + unconfirmed :: gb_sets:set() }). -type(contains_predicate() :: fun ((rabbit_types:msg_id()) -> boolean())). -type(walker(A) :: fun ((A) -> 'finished' | diff --git a/src/rabbit_runtime_parameter.erl b/src/rabbit_runtime_parameter.erl index 3e81ea74..3a5d9606 100644 --- a/src/rabbit_runtime_parameter.erl +++ b/src/rabbit_runtime_parameter.erl @@ -32,7 +32,7 @@ behaviour_info(callbacks) -> [ - {validate, 4}, + {validate, 5}, {notify, 4}, {notify_clear, 3} ]; diff --git a/src/rabbit_variable_queue.erl b/src/rabbit_variable_queue.erl index 03ba2819..d076b534 100644 --- a/src/rabbit_variable_queue.erl +++ b/src/rabbit_variable_queue.erl @@ -339,8 +339,8 @@ q3 :: ?QUEUE:?QUEUE(), q4 :: ?QUEUE:?QUEUE(), next_seq_id :: seq_id(), - ram_pending_ack :: gb_tree(), - disk_pending_ack :: gb_tree(), + ram_pending_ack :: gb_trees:tree(), + disk_pending_ack :: gb_trees:tree(), index_state :: any(), msg_store_clients :: 'undefined' | {{any(), binary()}, {any(), binary()}}, @@ -362,10 +362,10 @@ out_counter :: non_neg_integer(), in_counter :: non_neg_integer(), rates :: rates(), - msgs_on_disk :: gb_set(), - msg_indices_on_disk :: gb_set(), - unconfirmed :: gb_set(), - confirmed :: gb_set(), + msgs_on_disk :: gb_sets:set(), + msg_indices_on_disk :: gb_sets:set(), + unconfirmed :: gb_sets:set(), + confirmed :: gb_sets:set(), ack_out_counter :: non_neg_integer(), ack_in_counter :: non_neg_integer() }). %% Duplicated from rabbit_backing_queue diff --git a/src/supervisor2.erl b/src/supervisor2.erl index 92ecb0df..57c3bfc1 100644 --- a/src/supervisor2.erl +++ b/src/supervisor2.erl @@ -137,7 +137,7 @@ -record(state, {name, strategy :: strategy(), children = [] :: [child_rec()], - dynamics :: ?DICT() | ?SET(), + dynamics :: ?DICT:?DICT() | ?SET:?SET(), intensity :: non_neg_integer(), period :: pos_integer(), restarts = [], |