From 241da1a002fdd8a579f019a28372d88cf589f4ee Mon Sep 17 00:00:00 2001 From: Kohei Hakoishi <8944787+wipiano@users.noreply.github.com> Date: Thu, 2 Apr 2026 16:33:25 +0900 Subject: [PATCH] interpreting server_mode field (to support Valkey 8+ cluster) --- src/StackExchange.Redis/AutoConfigureInfoField.cs | 3 +++ src/StackExchange.Redis/ResultProcessor.cs | 1 + .../AutoConfigureInfoFieldUnitTests.cs | 1 + 3 files changed, 5 insertions(+) diff --git a/src/StackExchange.Redis/AutoConfigureInfoField.cs b/src/StackExchange.Redis/AutoConfigureInfoField.cs index 9d30b3ae5..7420bb02f 100644 --- a/src/StackExchange.Redis/AutoConfigureInfoField.cs +++ b/src/StackExchange.Redis/AutoConfigureInfoField.cs @@ -37,6 +37,9 @@ internal enum AutoConfigureInfoField [AsciiHash("valkey_version")] ValkeyVersion, + + [AsciiHash("server_mode")] + ServerMode, } /// diff --git a/src/StackExchange.Redis/ResultProcessor.cs b/src/StackExchange.Redis/ResultProcessor.cs index 62991373d..56e1973cc 100644 --- a/src/StackExchange.Redis/ResultProcessor.cs +++ b/src/StackExchange.Redis/ResultProcessor.cs @@ -920,6 +920,7 @@ protected override bool SetResultCore(PhysicalConnection connection, Message mes } break; case AutoConfigureInfoField.RedisMode: + case AutoConfigureInfoField.ServerMode: if (ServerTypeMetadata.TryParse(valSpan, out var serverType)) { server.ServerType = serverType; diff --git a/tests/StackExchange.Redis.Tests/AutoConfigureInfoFieldUnitTests.cs b/tests/StackExchange.Redis.Tests/AutoConfigureInfoFieldUnitTests.cs index ce4ce853b..dd6b38a1d 100644 --- a/tests/StackExchange.Redis.Tests/AutoConfigureInfoFieldUnitTests.cs +++ b/tests/StackExchange.Redis.Tests/AutoConfigureInfoFieldUnitTests.cs @@ -14,6 +14,7 @@ public class AutoConfigureInfoFieldUnitTests [InlineData("run_id", (int)AutoConfigureInfoField.RunId)] [InlineData("garnet_version", (int)AutoConfigureInfoField.GarnetVersion)] [InlineData("valkey_version", (int)AutoConfigureInfoField.ValkeyVersion)] + [InlineData("server_mode", (int)AutoConfigureInfoField.ServerMode)] public void TryParse_CharSpan_KnownFields(string value, int expected) { Assert.True(AutoConfigureInfoFieldMetadata.TryParse(value.AsSpan(), out var actual));