redis: Fix wrong type used to parse socket_keepalive

The socket_keepalive option in RedisClient is not an integer but
a boolean. This fixes the type to parse the options accordingly.

Note this change still keeps support for socket_keepalive=1 or
socket_keepalive=0 , but would remove support for the other integer
values such as 2 or -1.

Change-Id: I47b8628b9676f37ab5bb82b0fa9e45fcff679893
This commit is contained in:
Takashi Kajinami 2024-02-14 11:40:12 +09:00
parent 179fe30ac4
commit b950cf8cf4
2 changed files with 10 additions and 1 deletions

View File

@ -0,0 +1,9 @@
---
upgrade:
- |
The ``socket_keepalive`` option of redis driver no longer accepts integers
other than 0 and 1.
fixes:
- |
The ``socket_keepalive`` option of redis driver now accepts boolean values.

View File

@ -285,13 +285,13 @@ class RedisDriver(coordination.CoordinationDriverCachedRunWatchers,
#: Client arguments that are expected to be boolean convertible.
CLIENT_BOOL_ARGS = frozenset([
'retry_on_timeout',
'socket_keepalive',
'ssl',
])
#: Client arguments that are expected to be int convertible.
CLIENT_INT_ARGS = frozenset([
'db',
'socket_keepalive',
])
#: Client arguments that are expected to be float convertible.