[MediaWiki-commits] [Gerrit] Make all IdleConnection TCP KeepAlive parameters configurable - change (operations...pybal)
Giuseppe Lavagetto has submitted this change and it was merged. Change subject: Make all IdleConnection TCP KeepAlive parameters configurable .. Make all IdleConnection TCP KeepAlive parameters configurable This commit creates several configuration options for TCP KeepAlive in IdleConnection, instead of using the hardcoded values. The default values have also been changed to be slightly less aggressive. Change-Id: I1f5e0993f1901def199e0fb4d3790836dc7db2f2 --- M pybal/monitors/idleconnection.py 1 file changed, 12 insertions(+), 8 deletions(-) Approvals: Giuseppe Lavagetto: Verified; Looks good to me, approved jenkins-bot: Verified diff --git a/pybal/monitors/idleconnection.py b/pybal/monitors/idleconnection.py index 5ac7ea0..1c34634 100644 --- a/pybal/monitors/idleconnection.py +++ b/pybal/monitors/idleconnection.py @@ -25,7 +25,10 @@ TIMEOUT_CLEAN_RECONNECT = 3 MAX_DELAY = 300 -KEEPALIVE_RETRIES = 10 +KEEPALIVE = True +KEEPALIVE_RETRIES = 3 +KEEPALIVE_IDLE = 10 +KEEPALIVE_INTERVAL = 30 __name__ = 'IdleConnection' @@ -37,8 +40,10 @@ self.toCleanReconnect = self._getConfigInt('timeout-clean-reconnect', self.TIMEOUT_CLEAN_RECONNECT) self.maxDelay = self._getConfigInt('max-delay', self.MAX_DELAY) -self.keepAliveRetries = self._getConfigInt('keepalive-retries', - self.KEEPALIVE_RETRIES) +self.keepAlive = self._getConfigBool('keepalive', self.KEEPALIVE) +self.keepAliveRetries = self._getConfigInt('keepalive-retries', self.KEEPALIVE_RETRIES) +self.keepAliveIdle = self._getConfigInt('keepalive-idle', self.KEEPALIVE_IDLE) +self.keepAliveInterval = self._getConfigInt('keepalive-interval', self.KEEPALIVE_INTERVAL) def run(self): """Start the monitoring""" @@ -96,13 +101,12 @@ if not self.active: return -if self.transport is not None: +if self.transport is not None and self.keepAlive: sock = self.transport.getHandle() sock.setsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1) -sock.setsockopt(socket.SOL_TCP, socket.TCP_KEEPIDLE, 1) -sock.setsockopt(socket.SOL_TCP, socket.TCP_KEEPCNT, -self.keepAliveRetries) -sock.setsockopt(socket.SOL_TCP, socket.TCP_KEEPINTVL, 1) +sock.setsockopt(socket.SOL_TCP, socket.TCP_KEEPIDLE, self.keepAliveIdle) +sock.setsockopt(socket.SOL_TCP, socket.TCP_KEEPCNT, self.keepAliveRetries) +sock.setsockopt(socket.SOL_TCP, socket.TCP_KEEPINTVL, self.keepAliveInterval) # Set status to up self._resultUp() -- To view, visit https://gerrit.wikimedia.org/r/256942 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I1f5e0993f1901def199e0fb4d3790836dc7db2f2 Gerrit-PatchSet: 1 Gerrit-Project: operations/debs/pybal Gerrit-Branch: master Gerrit-Owner: Mark BergsmaGerrit-Reviewer: BBlack Gerrit-Reviewer: Faidon Liambotis Gerrit-Reviewer: Giuseppe Lavagetto Gerrit-Reviewer: Ori.livneh Gerrit-Reviewer: jenkins-bot <> ___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
[MediaWiki-commits] [Gerrit] Make all IdleConnection TCP KeepAlive parameters configurable - change (operations...pybal)
Mark Bergsma has uploaded a new change for review. https://gerrit.wikimedia.org/r/256942 Change subject: Make all IdleConnection TCP KeepAlive parameters configurable .. Make all IdleConnection TCP KeepAlive parameters configurable This commit creates several configuration options for TCP KeepAlive in IdleConnection, instead of using the hardcoded values. The default values have also been changed to be slightly less aggressive. Change-Id: I1f5e0993f1901def199e0fb4d3790836dc7db2f2 --- M pybal/monitors/idleconnection.py 1 file changed, 12 insertions(+), 8 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/operations/debs/pybal refs/changes/42/256942/1 diff --git a/pybal/monitors/idleconnection.py b/pybal/monitors/idleconnection.py index 5ac7ea0..1c34634 100644 --- a/pybal/monitors/idleconnection.py +++ b/pybal/monitors/idleconnection.py @@ -25,7 +25,10 @@ TIMEOUT_CLEAN_RECONNECT = 3 MAX_DELAY = 300 -KEEPALIVE_RETRIES = 10 +KEEPALIVE = True +KEEPALIVE_RETRIES = 3 +KEEPALIVE_IDLE = 10 +KEEPALIVE_INTERVAL = 30 __name__ = 'IdleConnection' @@ -37,8 +40,10 @@ self.toCleanReconnect = self._getConfigInt('timeout-clean-reconnect', self.TIMEOUT_CLEAN_RECONNECT) self.maxDelay = self._getConfigInt('max-delay', self.MAX_DELAY) -self.keepAliveRetries = self._getConfigInt('keepalive-retries', - self.KEEPALIVE_RETRIES) +self.keepAlive = self._getConfigBool('keepalive', self.KEEPALIVE) +self.keepAliveRetries = self._getConfigInt('keepalive-retries', self.KEEPALIVE_RETRIES) +self.keepAliveIdle = self._getConfigInt('keepalive-idle', self.KEEPALIVE_IDLE) +self.keepAliveInterval = self._getConfigInt('keepalive-interval', self.KEEPALIVE_INTERVAL) def run(self): """Start the monitoring""" @@ -96,13 +101,12 @@ if not self.active: return -if self.transport is not None: +if self.transport is not None and self.keepAlive: sock = self.transport.getHandle() sock.setsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1) -sock.setsockopt(socket.SOL_TCP, socket.TCP_KEEPIDLE, 1) -sock.setsockopt(socket.SOL_TCP, socket.TCP_KEEPCNT, -self.keepAliveRetries) -sock.setsockopt(socket.SOL_TCP, socket.TCP_KEEPINTVL, 1) +sock.setsockopt(socket.SOL_TCP, socket.TCP_KEEPIDLE, self.keepAliveIdle) +sock.setsockopt(socket.SOL_TCP, socket.TCP_KEEPCNT, self.keepAliveRetries) +sock.setsockopt(socket.SOL_TCP, socket.TCP_KEEPINTVL, self.keepAliveInterval) # Set status to up self._resultUp() -- To view, visit https://gerrit.wikimedia.org/r/256942 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I1f5e0993f1901def199e0fb4d3790836dc7db2f2 Gerrit-PatchSet: 1 Gerrit-Project: operations/debs/pybal Gerrit-Branch: master Gerrit-Owner: Mark Bergsma___ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits