diff options
author | Simon MacMullen <simon@rabbitmq.com> | 2012-05-03 18:21:32 +0100 |
---|---|---|
committer | Simon MacMullen <simon@rabbitmq.com> | 2012-05-03 18:21:32 +0100 |
commit | 9ce7d86f7e13cc14a926b900be0ecf87bfc424de (patch) | |
tree | 739dcf26c812df54d7f139deb2be88ce5c9a29dd | |
parent | af768e5847f3dbfb4c8ae4a648fc59046ea36773 (diff) | |
parent | cb002060e32741c5c250cdbf676e62ba71e5c9d1 (diff) | |
download | rabbitmq-server-9ce7d86f7e13cc14a926b900be0ecf87bfc424de.tar.gz |
Merge bug24729 (again)
-rw-r--r-- | src/mirrored_supervisor.erl | 31 | ||||
-rw-r--r-- | src/mirrored_supervisor_tests.erl | 4 | ||||
-rw-r--r-- | src/rabbit.erl | 15 | ||||
-rw-r--r-- | src/rabbit_basic.erl | 3 | ||||
-rw-r--r-- | src/rabbit_runtime_parameters.erl | 4 |
5 files changed, 24 insertions, 33 deletions
diff --git a/src/mirrored_supervisor.erl b/src/mirrored_supervisor.erl index c5f22c51..4fe93981 100644 --- a/src/mirrored_supervisor.erl +++ b/src/mirrored_supervisor.erl @@ -261,24 +261,19 @@ start_internal(Group, ChildSpecs) -> %%---------------------------------------------------------------------------- -init({overall, Group, Init}) -> - case Init of - {ok, {Restart, ChildSpecs}} -> - Delegate = {delegate, {?SUPERVISOR, start_link, - [?MODULE, {delegate, Restart}]}, - temporary, 16#ffffffff, supervisor, [?SUPERVISOR]}, - Mirroring = {mirroring, {?MODULE, start_internal, - [Group, ChildSpecs]}, - permanent, 16#ffffffff, worker, [?MODULE]}, - %% Important: Delegate MUST start before Mirroring so that - %% when we shut down from above it shuts down last, so - %% Mirroring does not see it die. - %% - %% See comment in handle_info('DOWN', ...) below - {ok, {{one_for_all, 0, 1}, [Delegate, Mirroring]}}; - ignore -> - ignore - end; +init({overall, _Group, ignore}) -> ignore; +init({overall, Group, {ok, {Restart, ChildSpecs}}}) -> + %% Important: Delegate MUST start before Mirroring so that when we + %% shut down from above it shuts down last, so Mirroring does not + %% see it die. + %% + %% See comment in handle_info('DOWN', ...) below + {ok, {{one_for_all, 0, 1}, + [{delegate, {?SUPERVISOR, start_link, [?MODULE, {delegate, Restart}]}, + temporary, 16#ffffffff, supervisor, [?SUPERVISOR]}, + {mirroring, {?MODULE, start_internal, [Group, ChildSpecs]}, + permanent, 16#ffffffff, worker, [?MODULE]}]}}; + init({delegate, Restart}) -> {ok, {Restart, []}}; diff --git a/src/mirrored_supervisor_tests.erl b/src/mirrored_supervisor_tests.erl index 776abb78..e8baabe8 100644 --- a/src/mirrored_supervisor_tests.erl +++ b/src/mirrored_supervisor_tests.erl @@ -157,7 +157,7 @@ test_no_migration_on_shutdown() -> with_sups(fun([Evil, _]) -> ?MS:start_child(Evil, childspec(worker)), try - call(worker, ping, 10000, 100), + call(worker, ping), exit(worker_should_not_have_migrated) catch exit:{timeout_waiting_for_server, _, _} -> ok @@ -268,7 +268,7 @@ inc_group() -> get_group(Group) -> {Group, get(counter)}. -call(Id, Msg) -> call(Id, Msg, 5*24*60*60*1000, 100). +call(Id, Msg) -> call(Id, Msg, 1000, 100). call(Id, Msg, 0, _Decr) -> exit({timeout_waiting_for_server, {Id, Msg}, erlang:get_stacktrace()}); diff --git a/src/rabbit.erl b/src/rabbit.erl index b1f786a0..5e579165 100644 --- a/src/rabbit.erl +++ b/src/rabbit.erl @@ -621,15 +621,12 @@ log_location(Type) -> rotate_logs(File, Suffix, Handler) -> rotate_logs(File, Suffix, Handler, Handler). -rotate_logs(File, Suffix, OldHandler, NewHandler) -> - case File of - undefined -> ok; - tty -> ok; - _ -> gen_event:swap_handler( - error_logger, - {OldHandler, swap}, - {NewHandler, {File, Suffix}}) - end. +rotate_logs(undefined, _Suffix, _OldHandler, _NewHandler) -> ok; +rotate_logs(tty, _Suffix, _OldHandler, _NewHandler) -> ok; +rotate_logs(File, Suffix, OldHandler, NewHandler) -> + gen_event:swap_handler(error_logger, + {OldHandler, swap}, + {NewHandler, {File, Suffix}}). log_rotation_result({error, MainLogError}, {error, SaslLogError}) -> {error, {{cannot_rotate_main_logs, MainLogError}, diff --git a/src/rabbit_basic.erl b/src/rabbit_basic.erl index 17d848da..734456d3 100644 --- a/src/rabbit_basic.erl +++ b/src/rabbit_basic.erl @@ -224,6 +224,5 @@ header_routes(HeadersTable) -> {array, Routes} -> [Route || {longstr, Route} <- Routes]; undefined -> []; {Type, _Val} -> throw({error, {unacceptable_type_in_header, - Type, - binary_to_list(HeaderKey)}}) + binary_to_list(HeaderKey), Type}}) end || HeaderKey <- ?ROUTING_HEADERS]). diff --git a/src/rabbit_runtime_parameters.erl b/src/rabbit_runtime_parameters.erl index e1c417c4..172cee92 100644 --- a/src/rabbit_runtime_parameters.erl +++ b/src/rabbit_runtime_parameters.erl @@ -88,7 +88,7 @@ set0(Component, Key, Term) -> mnesia_update(Component, Key, Term) -> rabbit_misc:execute_mnesia_transaction( fun () -> - Res = case mnesia:read(?TABLE, {Component, Key}) of + Res = case mnesia:read(?TABLE, {Component, Key}, read) of [] -> new; [Params] -> {old, Params#runtime_parameters.value} end, @@ -158,7 +158,7 @@ lookup0(Component, Key, DefaultFun) -> lookup_missing(Component, Key, Default) -> rabbit_misc:execute_mnesia_transaction( fun () -> - case mnesia:read(?TABLE, {Component, Key}) of + case mnesia:read(?TABLE, {Component, Key}, read) of [] -> Record = c(Component, Key, Default), mnesia:write(?TABLE, Record, write), Record; |