@@ -388,12 +388,7 @@ func (a *Admin) MigrateKeys(addr string, dest *Node, slots []Slot, batch int, ti
388388 break
389389 }
390390
391- var args []string
392- if replace {
393- args = append ([]string {dest .IP , dest .Port , "" , "0" , timeoutStr , "REPLACE" , "KEYS" }, keys ... )
394- } else {
395- args = append ([]string {dest .IP , dest .Port , "" , "0" , timeoutStr , "KEYS" }, keys ... )
396- }
391+ args := a .migrateCmdArgs (dest , timeoutStr , replace , keys )
397392
398393 resp = c .Cmd ("MIGRATE" , args )
399394 if err := a .Connections ().ValidateResp (resp , addr , "Unable to run command MIGRATE" ); err != nil {
@@ -432,12 +427,7 @@ func (a *Admin) MigrateKeysInSlot(addr string, dest *Node, slot Slot, batch int,
432427 break
433428 }
434429
435- var args []string
436- if replace {
437- args = append ([]string {dest .IP , dest .Port , "" , "0" , timeoutStr , "REPLACE" , "KEYS" }, keys ... )
438- } else {
439- args = append ([]string {dest .IP , dest .Port , "" , "0" , timeoutStr , "KEYS" }, keys ... )
440- }
430+ args := a .migrateCmdArgs (dest , timeoutStr , replace , keys )
441431
442432 resp = c .Cmd ("MIGRATE" , args )
443433 if err := a .Connections ().ValidateResp (resp , addr , "Unable to run command MIGRATE" ); err != nil {
@@ -448,6 +438,20 @@ func (a *Admin) MigrateKeysInSlot(addr string, dest *Node, slot Slot, batch int,
448438 return keyCount , nil
449439}
450440
441+ func (a * Admin ) migrateCmdArgs (dest * Node , timeoutStr string , replace bool , keys []string ) []string {
442+ args := []string {dest .IP , dest .Port , "" , "0" , timeoutStr }
443+ if password , ok := a .Connections ().GetAUTH (); ok {
444+ args = append (args , "AUTH" , password )
445+ }
446+ if replace {
447+ args = append (args , "REPLACE" , "KEYS" )
448+ } else {
449+ args = append (args , "KEYS" )
450+ }
451+ args = append (args , keys ... )
452+ return args
453+ }
454+
451455// ForgetNode used to force other redis cluster node to forget a specific node
452456func (a * Admin ) ForgetNode (id string ) error {
453457 infos , _ := a .GetClusterInfos ()
0 commit comments