diff options
| author | Michael Klishin <mklishin@pivotal.io> | 2016-09-12 16:48:16 +0300 |
|---|---|---|
| committer | Michael Klishin <mklishin@pivotal.io> | 2016-09-12 16:48:16 +0300 |
| commit | 4f085c2b0d7945ea0c879918630212e4e7c9ab4f (patch) | |
| tree | 57f543266494c99bba541e21bcca145a727b7d46 | |
| parent | 401da163fd4c035a1e55db7ca357e18fbae96356 (diff) | |
| parent | 49a7354689f3f137839de4ad46a93281229f55e3 (diff) | |
| download | rabbitmq-server-git-4f085c2b0d7945ea0c879918630212e4e7c9ab4f.tar.gz | |
Merge branch 'stable' into rabbitmq-server-956
| -rwxr-xr-x | scripts/rabbitmq-server-ha.ocf | 14 | ||||
| -rw-r--r-- | src/gm.erl | 7 |
2 files changed, 19 insertions, 2 deletions
diff --git a/scripts/rabbitmq-server-ha.ocf b/scripts/rabbitmq-server-ha.ocf index 63e5f700d9..8f711b3473 100755 --- a/scripts/rabbitmq-server-ha.ocf +++ b/scripts/rabbitmq-server-ha.ocf @@ -39,6 +39,7 @@ OCF_RESKEY_definitions_dump_file_default="/etc/rabbitmq/definitions" OCF_RESKEY_pid_file_default="/var/run/rabbitmq/pid" OCF_RESKEY_log_dir_default="/var/log/rabbitmq" OCF_RESKEY_mnesia_base_default="/var/lib/rabbitmq/mnesia" +OCF_RESKEY_mnesia_schema_base_default="/var/lib/rabbitmq" OCF_RESKEY_host_ip_default="127.0.0.1" OCF_RESKEY_node_port_default=5672 OCF_RESKEY_erlang_cookie_default=false @@ -62,6 +63,7 @@ OCF_RESKEY_rmq_feature_local_list_queues_default=true : ${OCF_RESKEY_definitions_dump_file=${OCF_RESKEY_definitions_dump_file_default}} : ${OCF_RESKEY_log_dir=${OCF_RESKEY_log_dir_default}} : ${OCF_RESKEY_mnesia_base=${OCF_RESKEY_mnesia_base_default}} +: ${OCF_RESKEY_mnesia_schema_base=${OCF_RESKEY_mnesia_schema_base_default}} : ${OCF_RESKEY_pid_file=${OCF_RESKEY_pid_file_default}} : ${OCF_RESKEY_node_port=${OCF_RESKEY_node_port_default}} : ${OCF_RESKEY_erlang_cookie=${OCF_RESKEY_erlang_cookie_default}} @@ -234,6 +236,14 @@ Base directory for storing Mnesia files <content type="boolean" default="${OCF_RESKEY_mnesia_base_default}" /> </parameter> +<parameter name="mnesia_schema_base" unique="0" required="0"> +<longdesc lang="en"> +Parent directory for Mnesia schema directory +</longdesc> +<shortdesc lang="en">Parent directory for Mnesia schema directory</shortdesc> +<content type="string" default="${OCF_RESKEY_mnesia_schema_base_default}" /> +</parameter> + <parameter name="host_ip" unique="0" required="0"> <longdesc lang="en"> ${OCF_RESKEY_binary} should listen on this IP address @@ -711,7 +721,9 @@ reset_mnesia() { if $make_amnesia ; then kill_rmq_and_remove_pid ocf_run rm -rf "${MNESIA_FILES}" - ocf_log warn "${LH} Mnesia files appear corrupted and have been removed from ${MNESIA_FILES}." + mnesia_schema_location="${OCF_RESKEY_mnesia_schema_base}/Mnesia.$(rabbit_node_name $(get_hostname))" + ocf_run rm -rf "$mnesia_schema_location" + ocf_log warn "${LH} Mnesia files appear corrupted and have been removed from ${MNESIA_FILES} and $mnesia_schema_location" fi # always return OCF SUCCESS return $OCF_SUCCESS diff --git a/src/gm.erl b/src/gm.erl index 008a29151e..c6d73b6cdd 100644 --- a/src/gm.erl +++ b/src/gm.erl @@ -1137,7 +1137,7 @@ record_dead_member_in_group(Self, Member, GroupName, TxnFun, Verify) -> true -> check_membership(Self, read_group(GroupName)); false -> - read_group(GroupName) + check_group(read_group(GroupName)) end, case lists:splitwith( fun (Member1) -> Member1 =/= Member end, Members) of @@ -1615,3 +1615,8 @@ check_membership(GroupName) -> {error, not_found} -> throw(lost_membership) end. + +check_group({error, not_found}) -> + throw(lost_membership); +check_group(Any) -> + Any. |
