Skip to content

Commit a0e4d3f

Browse files
authored
Rename maintenance events to maintenance notifications. (#3777)
* Rename relax_timeout to relaxed_timeout * Rename to MaintNotificationsConnectionHandler, MaintNotificationsPoolHandler and MaintNotificationsConfig * Completing renames - all tests are included as well as the rest of the class and object/field/args names * Fixing errors after rebase. * Fixing linters error related to too long arg name in abstract method
1 parent 9aa987d commit a0e4d3f

File tree

8 files changed

+1091
-1016
lines changed

8 files changed

+1091
-1016
lines changed

redis/_parsers/base.py

Lines changed: 35 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,12 @@
55
from typing import Awaitable, Callable, List, Optional, Protocol, Union
66

77
from redis.maintenance_events import (
8-
MaintenanceEvent,
9-
NodeFailedOverEvent,
10-
NodeFailingOverEvent,
11-
NodeMigratedEvent,
12-
NodeMigratingEvent,
13-
NodeMovingEvent,
8+
MaintenanceNotification,
9+
NodeFailedOverNotification,
10+
NodeFailingOverNotification,
11+
NodeMigratedNotification,
12+
NodeMigratingNotification,
13+
NodeMovingNotification,
1414
)
1515

1616
if sys.version_info.major >= 3 and sys.version_info.minor >= 11:
@@ -175,14 +175,14 @@ class MaintenanceNotificationsParser:
175175

176176
@staticmethod
177177
def parse_maintenance_start_msg(response, notification_type):
178-
# Expected message format is: <event_type> <seq_number> <time>
178+
# Expected message format is: <notification_type> <seq_number> <time>
179179
id = response[1]
180180
ttl = response[2]
181181
return notification_type(id, ttl)
182182

183183
@staticmethod
184184
def parse_maintenance_completed_msg(response, notification_type):
185-
# Expected message format is: <event_type> <seq_number>
185+
# Expected message format is: <notification_type> <seq_number>
186186
id = response[1]
187187
return notification_type(id)
188188

@@ -200,7 +200,7 @@ def parse_moving_msg(response):
200200
host, port = value.split(":")
201201
port = int(port) if port is not None else None
202202

203-
return NodeMovingEvent(id, host, port, ttl)
203+
return NodeMovingNotification(id, host, port, ttl)
204204

205205

206206
_INVALIDATION_MESSAGE = "invalidate"
@@ -217,25 +217,27 @@ def parse_moving_msg(response):
217217
_FAILED_OVER_MESSAGE,
218218
)
219219

220-
MSG_TYPE_TO_EVENT_PARSER_MAPPING: dict[str, tuple[type[MaintenanceEvent], Callable]] = {
220+
MSG_TYPE_TO_MAINT_NOTIFICATION_PARSER_MAPPING: dict[
221+
str, tuple[type[MaintenanceNotification], Callable]
222+
] = {
221223
_MIGRATING_MESSAGE: (
222-
NodeMigratingEvent,
224+
NodeMigratingNotification,
223225
MaintenanceNotificationsParser.parse_maintenance_start_msg,
224226
),
225227
_MIGRATED_MESSAGE: (
226-
NodeMigratedEvent,
228+
NodeMigratedNotification,
227229
MaintenanceNotificationsParser.parse_maintenance_completed_msg,
228230
),
229231
_FAILING_OVER_MESSAGE: (
230-
NodeFailingOverEvent,
232+
NodeFailingOverNotification,
231233
MaintenanceNotificationsParser.parse_maintenance_start_msg,
232234
),
233235
_FAILED_OVER_MESSAGE: (
234-
NodeFailedOverEvent,
236+
NodeFailedOverNotification,
235237
MaintenanceNotificationsParser.parse_maintenance_completed_msg,
236238
),
237239
_MOVING_MESSAGE: (
238-
NodeMovingEvent,
240+
NodeMovingNotification,
239241
MaintenanceNotificationsParser.parse_moving_msg,
240242
),
241243
}
@@ -273,14 +275,20 @@ def handle_push_response(self, response, **kwargs):
273275
return self.invalidation_push_handler_func(response)
274276

275277
if msg_type == _MOVING_MESSAGE and self.node_moving_push_handler_func:
276-
parser_function = MSG_TYPE_TO_EVENT_PARSER_MAPPING[msg_type][1]
278+
parser_function = MSG_TYPE_TO_MAINT_NOTIFICATION_PARSER_MAPPING[
279+
msg_type
280+
][1]
277281

278282
notification = parser_function(response)
279283
return self.node_moving_push_handler_func(notification)
280284

281285
if msg_type in _MAINTENANCE_MESSAGES and self.maintenance_push_handler_func:
282-
parser_function = MSG_TYPE_TO_EVENT_PARSER_MAPPING[msg_type][1]
283-
notification_type = MSG_TYPE_TO_EVENT_PARSER_MAPPING[msg_type][0]
286+
parser_function = MSG_TYPE_TO_MAINT_NOTIFICATION_PARSER_MAPPING[
287+
msg_type
288+
][1]
289+
notification_type = MSG_TYPE_TO_MAINT_NOTIFICATION_PARSER_MAPPING[
290+
msg_type
291+
][0]
284292
notification = parser_function(response, notification_type)
285293

286294
if notification is not None:
@@ -342,13 +350,19 @@ async def handle_push_response(self, response, **kwargs):
342350
msg_type = msg_type.decode()
343351

344352
if msg_type == _MOVING_MESSAGE and self.node_moving_push_handler_func:
345-
parser_function = MSG_TYPE_TO_EVENT_PARSER_MAPPING[msg_type][1]
353+
parser_function = MSG_TYPE_TO_MAINT_NOTIFICATION_PARSER_MAPPING[
354+
msg_type
355+
][1]
346356
notification = parser_function(response)
347357
return await self.node_moving_push_handler_func(notification)
348358

349359
if msg_type in _MAINTENANCE_MESSAGES and self.maintenance_push_handler_func:
350-
parser_function = MSG_TYPE_TO_EVENT_PARSER_MAPPING[msg_type][1]
351-
notification_type = MSG_TYPE_TO_EVENT_PARSER_MAPPING[msg_type][0]
360+
parser_function = MSG_TYPE_TO_MAINT_NOTIFICATION_PARSER_MAPPING[
361+
msg_type
362+
][1]
363+
notification_type = MSG_TYPE_TO_MAINT_NOTIFICATION_PARSER_MAPPING[
364+
msg_type
365+
][0]
352366
notification = parser_function(response, notification_type)
353367

354368
if notification is not None:

redis/client.py

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,8 @@
5757
)
5858
from redis.lock import Lock
5959
from redis.maintenance_events import (
60-
MaintenanceEventPoolHandler,
61-
MaintenanceEventsConfig,
60+
MaintNotificationsConfig,
61+
MaintNotificationsPoolHandler,
6262
)
6363
from redis.retry import Retry
6464
from redis.utils import (
@@ -248,7 +248,7 @@ def __init__(
248248
cache: Optional[CacheInterface] = None,
249249
cache_config: Optional[CacheConfig] = None,
250250
event_dispatcher: Optional[EventDispatcher] = None,
251-
maintenance_events_config: Optional[MaintenanceEventsConfig] = None,
251+
maint_notifications_config: Optional[MaintNotificationsConfig] = None,
252252
) -> None:
253253
"""
254254
Initialize a new Redis client.
@@ -373,22 +373,22 @@ def __init__(
373373
]:
374374
raise RedisError("Client caching is only supported with RESP version 3")
375375

376-
if maintenance_events_config and self.connection_pool.get_protocol() not in [
376+
if maint_notifications_config and self.connection_pool.get_protocol() not in [
377377
3,
378378
"3",
379379
]:
380380
raise RedisError(
381381
"Push handlers on connection are only supported with RESP version 3"
382382
)
383-
if maintenance_events_config and maintenance_events_config.enabled:
384-
self.maintenance_events_pool_handler = MaintenanceEventPoolHandler(
385-
self.connection_pool, maintenance_events_config
383+
if maint_notifications_config and maint_notifications_config.enabled:
384+
self.maint_notifications_pool_handler = MaintNotificationsPoolHandler(
385+
self.connection_pool, maint_notifications_config
386386
)
387-
self.connection_pool.set_maintenance_events_pool_handler(
388-
self.maintenance_events_pool_handler
387+
self.connection_pool.set_maint_notifications_pool_handler(
388+
self.maint_notifications_pool_handler
389389
)
390390
else:
391-
self.maintenance_events_pool_handler = None
391+
self.maint_notifications_pool_handler = None
392392

393393
self.single_connection_lock = threading.RLock()
394394
self.connection = None
@@ -587,15 +587,15 @@ def monitor(self):
587587
return Monitor(self.connection_pool)
588588

589589
def client(self):
590-
maintenance_events_config = (
590+
maint_notifications_config = (
591591
None
592-
if self.maintenance_events_pool_handler is None
593-
else self.maintenance_events_pool_handler.config
592+
if self.maint_notifications_pool_handler is None
593+
else self.maint_notifications_pool_handler.config
594594
)
595595
return self.__class__(
596596
connection_pool=self.connection_pool,
597597
single_connection_client=True,
598-
maintenance_events_config=maintenance_events_config,
598+
maint_notifications_config=maint_notifications_config,
599599
)
600600

601601
def __enter__(self):

0 commit comments

Comments
 (0)