diff --git a/src/StackExchange.Redis/ServerEndPoint.cs b/src/StackExchange.Redis/ServerEndPoint.cs index da0fb9b18..d59e6b090 100644 --- a/src/StackExchange.Redis/ServerEndPoint.cs +++ b/src/StackExchange.Redis/ServerEndPoint.cs @@ -972,8 +972,9 @@ private async Task HandshakeAsync(PhysicalConnection connection, ILogger? log) if (Multiplexer.RawConfig.TryResp3()) // note this includes an availability check on HELLO { log?.LogInformation($"{Format.ToString(this)}: Authenticating via HELLO"); - var hello = Message.CreateHello(3, user, password, clientName, CommandFlags.None); - await SendAuthMessageAsync(connection, hello, autoConfig ??= ResultProcessor.AutoConfigureProcessor.Create(log)).ForAwait(); + var hello = Message.CreateHello(3, user, password, clientName, CommandFlags.FireAndForget); + hello.SetInternalCall(); + await WriteDirectOrQueueFireAndForgetAsync(connection, hello, autoConfig ??= ResultProcessor.AutoConfigureProcessor.Create(log)).ForAwait(); // note that the server can reject RESP3 via either an -ERR response (HELLO not understood), or by simply saying "nope", // so we don't set the actual .Protocol until we process the result of the HELLO request