Skip to content

Commit 14069d3

Browse files
authored
replication: Improve COM_REGISTER_SLAVE (#967)
* replication: Improve COM_REGISTER_SLAVE * replication: Fix replica UUID registration If we send `SET @replica_uuid=` after `COM_REGISTER_SLAVE` it won't be picked up in `SHOW REPLICAS`.
1 parent dc262fe commit 14069d3

File tree

1 file changed

+10
-12
lines changed

1 file changed

+10
-12
lines changed

replication/binlogsyncer.go

+10-12
Original file line numberDiff line numberDiff line change
@@ -348,14 +348,6 @@ func (b *BinlogSyncer) registerSlave() error {
348348
}
349349
}
350350

351-
if err = b.writeRegisterSlaveCommand(); err != nil {
352-
return errors.Trace(err)
353-
}
354-
355-
if _, err = b.c.ReadOKPacket(); err != nil {
356-
return errors.Trace(err)
357-
}
358-
359351
serverUUID, err := uuid.NewUUID()
360352
if err != nil {
361353
b.cfg.Logger.Errorf("failed to get new uuid %v", err)
@@ -366,6 +358,14 @@ func (b *BinlogSyncer) registerSlave() error {
366358
return errors.Trace(err)
367359
}
368360

361+
if err = b.writeRegisterSlaveCommand(); err != nil {
362+
return errors.Trace(err)
363+
}
364+
365+
if _, err = b.c.ReadOKPacket(); err != nil {
366+
return errors.Trace(err)
367+
}
368+
369369
return nil
370370
}
371371

@@ -596,7 +596,7 @@ func (b *BinlogSyncer) writeRegisterSlaveCommand() error {
596596
hostname := b.localHostname()
597597

598598
// This should be the name of slave host not the host we are connecting to.
599-
data := make([]byte, 4+1+4+1+len(hostname)+1+len(b.cfg.User)+1+len(b.cfg.Password)+2+4+4)
599+
data := make([]byte, 4+1+4+1+len(hostname)+1+len(b.cfg.User)+1+2+4+4)
600600
pos := 4
601601

602602
data[pos] = COM_REGISTER_SLAVE
@@ -616,10 +616,8 @@ func (b *BinlogSyncer) writeRegisterSlaveCommand() error {
616616
n = copy(data[pos:], b.cfg.User)
617617
pos += n
618618

619-
data[pos] = uint8(len(b.cfg.Password))
619+
data[pos] = uint8(0)
620620
pos++
621-
n = copy(data[pos:], b.cfg.Password)
622-
pos += n
623621

624622
binary.LittleEndian.PutUint16(data[pos:], b.cfg.Port)
625623
pos += 2

0 commit comments

Comments
 (0)