Add DisableHelloCmd options

This commit is contained in:
zhangjianfeng_dxm 2023-11-09 13:28:20 +08:00
parent 21bd40a47e
commit 3805610dff
2 changed files with 19 additions and 13 deletions

View File

@ -144,6 +144,10 @@ type Options struct {
// Disable set-lib on connect. Default is false.
DisableIndentity bool
// Disable Hello on connect. Default is false.
// Hello is used to check the server version,but in Enterprise environment with twproxy,it will cause error,return EOF panic.
DisableHelloCmd bool
}
func (opt *Options) init() {

View File

@ -285,6 +285,7 @@ func (c *baseClient) initConn(ctx context.Context, cn *pool.Conn) error {
protocol = 3
}
if !c.opt.DisableHelloCmd {
// for redis-server versions that do not support the HELLO command,
// RESP2 will continue to be used.
if err := conn.Hello(ctx, protocol, username, password, "").Err(); err == nil {
@ -299,6 +300,7 @@ func (c *baseClient) initConn(ctx context.Context, cn *pool.Conn) error {
// difficult to rely on error strings to determine all results.
return err
}
}
if !c.opt.DisableIndentity {
libName := ""
libVer := Version()