Ignore heartbeats lock fails

Stomp heartbeat handling is quite poorly designed. It happens in a
separate thread which sleeps, then tries to read a heartbeat if reading
mutex is acquired by message receiving thread it fails and increases
lock failure count. Upon reaching the limit (in our packets it is 2 by
default) it forcibly closes the connetion causing reconnect. Setting the
value to 0 turns the feature off.

Change-Id: I2187ce69508c530073582c542c963014acc5123a
Closes-Bug: #1613246
Closes-Bug: #1298262
(cherry picked from commit b50241a7b2)
This commit is contained in:
Georgy Kibardin 2016-09-13 14:08:34 +03:00
parent c15adf0ce8
commit 898bcca752
3 changed files with 3 additions and 0 deletions

View File

@ -82,6 +82,7 @@ mcollective:
plugin.rabbitmq.pool.1.user: {{ mcollective.user }}
plugin.rabbitmq.pool.1.password: {{ mcollective.password }}
plugin.rabbitmq.heartbeat_interval: 30
plugin.rabbitmq.max_hbrlck_fails: 0
{% endif %}
factsource: yaml
plugin.yaml: /etc/mcollective/facts.yaml

View File

@ -82,6 +82,7 @@ mcollective:
plugin.rabbitmq.pool.1.user: {{ mcollective.user }}
plugin.rabbitmq.pool.1.password: {{ mcollective.password }}
plugin.rabbitmq.heartbeat_interval: 30
plugin.rabbitmq.max_hbrlck_fails: 0
{% endif %}
factsource: yaml
plugin.yaml: /etc/mcollective/facts.yaml

View File

@ -21,6 +21,7 @@ plugin.rabbitmq.pool.1.port = 61613
plugin.rabbitmq.pool.1.user = mcollective
plugin.rabbitmq.pool.1.password = marionette
plugin.rabbitmq.heartbeat_interval = 30
plugin.rabbitmq.max_hbrlck_fails = 0
# Facts
factsource = yaml