summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGES1
-rw-r--r--redis/commands/core.py4
2 files changed, 3 insertions, 2 deletions
diff --git a/CHANGES b/CHANGES
index ea171f6..4917980 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,4 @@
+ * Fix `xadd` command to accept non-negative `maxlen` including 0
* Revert #2104, #2673, add `disconnect_on_error` option to `read_response()` (issues #2506, #2624)
* Add `address_remap` parameter to `RedisCluster`
* Fix incorrect usage of once flag in async Sentinel
diff --git a/redis/commands/core.py b/redis/commands/core.py
index 1a4acb2..f2d7bf2 100644
--- a/redis/commands/core.py
+++ b/redis/commands/core.py
@@ -3496,8 +3496,8 @@ class StreamCommands(CommandsProtocol):
raise DataError("Only one of ```maxlen``` or ```minid``` may be specified")
if maxlen is not None:
- if not isinstance(maxlen, int) or maxlen < 1:
- raise DataError("XADD maxlen must be a positive integer")
+ if not isinstance(maxlen, int) or maxlen < 0:
+ raise DataError("XADD maxlen must be non-negative integer")
pieces.append(b"MAXLEN")
if approximate:
pieces.append(b"~")