diff --git a/redisson/src/main/java/org/redisson/RedissonObject.java b/redisson/src/main/java/org/redisson/RedissonObject.java index 98f5f2fed..4301668cb 100644 --- a/redisson/src/main/java/org/redisson/RedissonObject.java +++ b/redisson/src/main/java/org/redisson/RedissonObject.java @@ -524,6 +524,11 @@ public abstract class RedissonObject implements RObject { protected final RFuture removeTrackingListenerAsync(int listenerId) { PublishSubscribeService subscribeService = commandExecutor.getConnectionManager().getSubscribeService(); + ChannelName cn = new ChannelName("__redis__:invalidate"); + if (!subscribeService.hasEntry(cn)) { + return new CompletableFutureWrapper<>((Void) null); + } + CompletableFuture f = subscribeService.removeListenerAsync(PubSubType.UNSUBSCRIBE, new ChannelName("__redis__:invalidate"), listenerId); f = f.whenComplete((r, e) -> { if (!commandExecutor.isTrackChanges()) {