Skip to content

Commit 14b3244

Browse files
forainsmashleon23
andcommitted
MCE-18894 Load Binlog Position from Redis
This was already implemented before the go-mysql MySQL 8 upgrade but we missed refactoring this part after we merged upstream code. Co-authored-by: Mario Poveda <mario.poveda@instructure.com>
1 parent 92973d3 commit 14b3244

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

canal/canal.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,13 @@ func NewCanal(cfg *Config) (*Canal, error) {
9393
c.delay = new(uint32)
9494

9595
var err error
96+
if err = c.master.infoLoader.Load(c.master.Setter); err != nil {
97+
return nil, errors.Trace(err)
98+
} else if len(c.master.Addr) != 0 && c.master.Addr != c.cfg.Addr {
99+
c.cfg.Logger.Infof("MySQL addr %s in old master.info, but new %s, reset", c.master.Addr, c.cfg.Addr)
100+
// may use another MySQL, reset
101+
c.master = &masterInfo{infoLoader: c.master.infoLoader} // keep the configured info loader
102+
}
96103

97104
if err = c.prepareDumper(); err != nil {
98105
return nil, errors.Trace(err)

0 commit comments

Comments
 (0)