RabbitMQ should use net_ticktime

We no longer need to force low-level TCP timeouts for dead client
detection, but should continue tuning the timeout for dead peer
detection between cluster nodes.  Using the erlang net_ticktime option
is preferrable here.

Closes-Bug: 1717006
Change-Id: Ibd29c03bd69818d79396c379a2d638c018a04b82
This commit is contained in:
John Eckersberg 2017-09-12 17:19:56 -04:00
parent 4416428af3
commit 962ce364f8
2 changed files with 16 additions and 1 deletions

View File

@ -57,6 +57,12 @@ parameters:
overridden to CEIL(N/2) where N is the number of nodes running rabbitmq. overridden to CEIL(N/2) where N is the number of nodes running rabbitmq.
default: -1 default: -1
type: number type: number
RabbitNetTickTime:
description:
The number of seconds to configure the value of the erlang
net_ticktime kernel variable.
default: 15
type: number
MonitoringSubscriptionRabbitmq: MonitoringSubscriptionRabbitmq:
default: 'overcloud-rabbitmq' default: 'overcloud-rabbitmq'
type: string type: string
@ -97,11 +103,12 @@ outputs:
NODE_PORT: '' NODE_PORT: ''
NODE_IP_ADDRESS: '' NODE_IP_ADDRESS: ''
RABBITMQ_NODENAME: "rabbit@%{::hostname}" RABBITMQ_NODENAME: "rabbit@%{::hostname}"
RABBITMQ_SERVER_ERL_ARGS: '"+K true +P 1048576 -kernel inet_default_connect_options [{nodelay,true},{raw,6,18,<<15000:64/native>>}] -kernel inet_default_listen_options [{raw,6,18,<<15000:64/native>>}]"' RABBITMQ_SERVER_ERL_ARGS: '"+K true +P 1048576 -kernel inet_default_connect_options [{nodelay,true}]"'
'export ERL_EPMD_ADDRESS': "%{hiera('rabbitmq::interface')}" 'export ERL_EPMD_ADDRESS': "%{hiera('rabbitmq::interface')}"
rabbitmq_kernel_variables: rabbitmq_kernel_variables:
inet_dist_listen_min: '25672' inet_dist_listen_min: '25672'
inet_dist_listen_max: '25672' inet_dist_listen_max: '25672'
net_ticktime: {get_param: RabbitNetTickTime}
rabbitmq_config_variables: rabbitmq_config_variables:
cluster_partition_handling: 'pause_minority' cluster_partition_handling: 'pause_minority'
queue_master_locator: '<<"min-masters">>' queue_master_locator: '<<"min-masters">>'

View File

@ -0,0 +1,8 @@
---
features:
- |
A new parameter, RabbitNetTickTime, allows tuning the Erlang
net_ticktime parameter for rabbitmq-server. The default value is
15 seconds. This replaces previous tunings in the RabbitMQ
environment file which set socket options forcing
TCP_USER_TIMEOUT to 15 seconds.