From 15259fd355fc1f7461dd8cdd972c7d72422f740d Mon Sep 17 00:00:00 2001 From: Mark Paluch Date: Tue, 5 May 2020 14:26:41 +0200 Subject: [PATCH] DATAREDIS-1138 - Fix detection whether XREAD is blocking. We now correctly check if a BLOCK option is configured using a timeout of zero or higher. Previously we only checked if the configured value is greater than zero and didn't consider that a timeout of zero blocks indefinitely. Original Pull Request: #528 --- .../redis/connection/lettuce/LettuceReactiveStreamCommands.java | 2 +- .../data/redis/connection/lettuce/LettuceStreamCommands.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceReactiveStreamCommands.java b/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceReactiveStreamCommands.java index 1fa7da0a3..6580b9b7e 100644 --- a/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceReactiveStreamCommands.java +++ b/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceReactiveStreamCommands.java @@ -207,7 +207,7 @@ class LettuceReactiveStreamCommands implements ReactiveStreamCommands { StreamReadOptions readOptions = command.getReadOptions(); - if (readOptions.getBlock() != null && readOptions.getBlock() > 0) { + if (readOptions.getBlock() != null && readOptions.getBlock() >= 0) { return new CommandResponse<>(command, connection.executeDedicated(cmd -> doRead(command, readOptions, cmd))); } diff --git a/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceStreamCommands.java b/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceStreamCommands.java index d30f12c68..f5aae78a5 100644 --- a/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceStreamCommands.java +++ b/src/main/java/org/springframework/data/redis/connection/lettuce/LettuceStreamCommands.java @@ -472,7 +472,7 @@ class LettuceStreamCommands implements RedisStreamCommands { } private static boolean isBlocking(StreamReadOptions readOptions) { - return readOptions.getBlock() != null && readOptions.getBlock() > 0; + return readOptions.getBlock() != null && readOptions.getBlock() >= 0; } @SuppressWarnings("unchecked")