Skip to content

Commit a470433

Browse files
denglimingmp911de
authored andcommitted
Fix cannot publish when subscribed with RESP3 #2594
Original pull request: #2778
1 parent c4c6994 commit a470433

File tree

2 files changed

+7
-2
lines changed

2 files changed

+7
-2
lines changed

src/main/java/io/lettuce/core/protocol/DefaultEndpoint.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -814,6 +814,10 @@ protected String logPrefix() {
814814
return logPrefix = buffer;
815815
}
816816

817+
protected ProtocolVersion getProtocolVersion() {
818+
return clientOptions.getProtocolVersion();
819+
}
820+
817821
@Override
818822
public String getId() {
819823
return cachedEndpointId;

src/main/java/io/lettuce/core/pubsub/PubSubEndpoint.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
import io.lettuce.core.RedisException;
2929
import io.lettuce.core.protocol.CommandType;
3030
import io.lettuce.core.protocol.DefaultEndpoint;
31+
import io.lettuce.core.protocol.ProtocolVersion;
3132
import io.lettuce.core.protocol.RedisCommand;
3233
import io.lettuce.core.resource.ClientResources;
3334
import io.netty.channel.Channel;
@@ -193,8 +194,8 @@ protected boolean containsViolatingCommands(Collection<? extends RedisCommand<?,
193194
return false;
194195
}
195196

196-
private static boolean isAllowed(RedisCommand<?, ?, ?> command) {
197-
return ALLOWED_COMMANDS_SUBSCRIBED.contains(command.getType().name());
197+
private boolean isAllowed(RedisCommand<?, ?, ?> command) {
198+
return getProtocolVersion() == ProtocolVersion.RESP3 || ALLOWED_COMMANDS_SUBSCRIBED.contains(command.getType().name());
198199
}
199200

200201
public boolean isSubscribed() {

0 commit comments

Comments
 (0)