You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
How can we disable this handshake if these settings are hard-coded when building the redis uri object. If we can set the LIB-NAME and LIB-VER to NULL or a blank string the RedisHandshake class will not try to run those commands as seen in this code?
privateCompletableFuture<Void> applyPostHandshake(Channelchannel, StringredisVersion,
ProtocolVersionnegotiatedProtocolVersion) {
List<AsyncCommand<?, ?, ?>> postHandshake = newArrayList<>();
ConnectionMetadatametadata = connectionState.getConnectionMetadata();
if (metadata.getClientName() != null && negotiatedProtocolVersion == ProtocolVersion.RESP2) {
postHandshake.add(newAsyncCommand<>(this.commandBuilder.clientSetname(connectionState.getClientName())));
}
if (negotiatedProtocolVersion == ProtocolVersion.RESP3) {
RedisVersioncurrentVersion = RedisVersion.of(redisVersion);
if (currentVersion.isGreaterThanOrEqualTo(CLIENT_SET_INFO_SINCE)) {
if (LettuceStrings.isNotEmpty(metadata.getLibraryName())) {
postHandshake
.add(newAsyncCommand<>(this.commandBuilder.clientSetinfo("lib-name", metadata.getLibraryName())));
}
if (LettuceStrings.isNotEmpty(metadata.getLibraryVersion())) {
postHandshake.add(
newAsyncCommand<>(this.commandBuilder.clientSetinfo("lib-ver", metadata.getLibraryVersion())));
}
}
}
if (connectionState.getDb() > 0) {
postHandshake.add(newAsyncCommand<>(this.commandBuilder.select(connectionState.getDb())));
}
if (connectionState.isReadOnly()) {
postHandshake.add(newAsyncCommand<>(this.commandBuilder.readOnly()));
}
if (postHandshake.isEmpty()) {
returnCompletableFuture.completedFuture(null);
}
returndispatch(channel, postHandshake);
}
The text was updated successfully, but these errors were encountered:
Thank you @razilevin for getting in touch and @tishun for chiming in. From a data-redis perspective there don't seem to be any actionable items right now since the issue happens (and is already solved) within the lettuce driver. Please give lettuce:6.4.x a try, which should contain the fix.
Lettuce Library 6.3.0.RELEASE/9bb1669
We have upgraded GCP memory store to version <7.2.x> and now the redis driver fails to connect since the following commands are NOT SUPPORTED
How can we disable this handshake if these settings are hard-coded when building the redis uri object. If we can set the LIB-NAME and LIB-VER to NULL or a blank string the
RedisHandshake
class will not try to run those commands as seen in this code?The text was updated successfully, but these errors were encountered: