Skip to content

Commit 9b1c983

Browse files
authored
Merge branch 'master' into master
2 parents b3cd82b + eca7075 commit 9b1c983

File tree

5 files changed

+20
-6
lines changed

5 files changed

+20
-6
lines changed

redis/asyncio/lock.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import threading
44
import uuid
55
from types import SimpleNamespace
6-
from typing import TYPE_CHECKING, Awaitable, NoReturn, Optional, Union
6+
from typing import TYPE_CHECKING, Awaitable, Optional, Union
77

88
from redis.exceptions import LockError, LockNotOwnedError
99

@@ -243,15 +243,15 @@ async def owned(self) -> bool:
243243
stored_token = encoder.encode(stored_token)
244244
return self.local.token is not None and stored_token == self.local.token
245245

246-
def release(self) -> Awaitable[NoReturn]:
246+
def release(self) -> Awaitable[None]:
247247
"""Releases the already acquired lock"""
248248
expected_token = self.local.token
249249
if expected_token is None:
250250
raise LockError("Cannot release an unlocked lock")
251251
self.local.token = None
252252
return self.do_release(expected_token)
253253

254-
async def do_release(self, expected_token: bytes):
254+
async def do_release(self, expected_token: bytes) -> None:
255255
if not bool(
256256
await self.lua_release(
257257
keys=[self.name], args=[expected_token], client=self.redis

redis/commands/core.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1064,6 +1064,15 @@ def memory_purge(self, **kwargs) -> ResponseT:
10641064
"""
10651065
return self.execute_command("MEMORY PURGE", **kwargs)
10661066

1067+
def latency_histogram(self, *args):
1068+
"""
1069+
This function throws a NotImplementedError since it is intentionally
1070+
not supported.
1071+
"""
1072+
raise NotImplementedError(
1073+
"LATENCY HISTOGRAM is intentionally not implemented in the client."
1074+
)
1075+
10671076
def ping(self, **kwargs) -> ResponseT:
10681077
"""
10691078
Ping the Redis server

redis/connection.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -563,7 +563,7 @@ def __init__(
563563
# deep-copy the Retry object as it is mutable
564564
self.retry = copy.deepcopy(retry)
565565
# Update the retry's supported errors with the specified errors
566-
self.retry.update_supported_erros(retry_on_error)
566+
self.retry.update_supported_errors(retry_on_error)
567567
else:
568568
self.retry = Retry(NoBackoff(), 0)
569569
self.health_check_interval = health_check_interval
@@ -1099,7 +1099,7 @@ def __init__(
10991099
# deep-copy the Retry object as it is mutable
11001100
self.retry = copy.deepcopy(retry)
11011101
# Update the retry's supported errors with the specified errors
1102-
self.retry.update_supported_erros(retry_on_error)
1102+
self.retry.update_supported_errors(retry_on_error)
11031103
else:
11041104
self.retry = Retry(NoBackoff(), 0)
11051105
self.health_check_interval = health_check_interval

redis/retry.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ def __init__(
2424
self._retries = retries
2525
self._supported_errors = supported_errors
2626

27-
def update_supported_erros(self, specified_errors: list):
27+
def update_supported_errors(self, specified_errors: list):
2828
"""
2929
Updates the supported errors with the specified error types
3030
"""

tests/test_commands.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4458,6 +4458,11 @@ def test_memory_usage(self, r):
44584458
r.set("foo", "bar")
44594459
assert isinstance(r.memory_usage("foo"), int)
44604460

4461+
@skip_if_server_version_lt("7.0.0")
4462+
def test_latency_histogram_not_implemented(self, r: redis.Redis):
4463+
with pytest.raises(NotImplementedError):
4464+
r.latency_histogram()
4465+
44614466
@pytest.mark.onlynoncluster
44624467
@skip_if_server_version_lt("4.0.0")
44634468
@skip_if_redis_enterprise()

0 commit comments

Comments
 (0)