feat(feat-set-binlogsyncer-maxreconnectattempts): feat-set-binlogsyncer-maxreconnectattempts (#1279)
Co-authored-by: shaohoukun <shaohoukun@meituan.com>
This commit is contained in:
parent
b7db8c6ca7
commit
0a033c76c1
@ -61,6 +61,9 @@ It is not reliable to parse the `ALTER` statement to determine if it is instant
|
|||||||
|
|
||||||
`gh-ost` will automatically fallback to the normal DDL process if the attempt to use instant DDL is unsuccessful.
|
`gh-ost` will automatically fallback to the normal DDL process if the attempt to use instant DDL is unsuccessful.
|
||||||
|
|
||||||
|
### binlogsyncer-max-reconnect-attempts
|
||||||
|
`--binlogsyncer-max-reconnect-attempts=0`, the maximum number of attempts to re-establish a broken inspector connection for sync binlog. `0` or `negative number` means infinite retry, default `0`
|
||||||
|
|
||||||
### conf
|
### conf
|
||||||
|
|
||||||
`--conf=/path/to/my.cnf`: file where credentials are specified. Should be in (or contain) the following format:
|
`--conf=/path/to/my.cnf`: file where credentials are specified. Should be in (or contain) the following format:
|
||||||
|
@ -232,6 +232,8 @@ type MigrationContext struct {
|
|||||||
|
|
||||||
recentBinlogCoordinates mysql.BinlogCoordinates
|
recentBinlogCoordinates mysql.BinlogCoordinates
|
||||||
|
|
||||||
|
BinlogSyncerMaxReconnectAttempts int
|
||||||
|
|
||||||
Log Logger
|
Log Logger
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -36,14 +36,15 @@ func NewGoMySQLReader(migrationContext *base.MigrationContext) *GoMySQLReader {
|
|||||||
currentCoordinates: mysql.BinlogCoordinates{},
|
currentCoordinates: mysql.BinlogCoordinates{},
|
||||||
currentCoordinatesMutex: &sync.Mutex{},
|
currentCoordinatesMutex: &sync.Mutex{},
|
||||||
binlogSyncer: replication.NewBinlogSyncer(replication.BinlogSyncerConfig{
|
binlogSyncer: replication.NewBinlogSyncer(replication.BinlogSyncerConfig{
|
||||||
ServerID: uint32(migrationContext.ReplicaServerId),
|
ServerID: uint32(migrationContext.ReplicaServerId),
|
||||||
Flavor: gomysql.MySQLFlavor,
|
Flavor: gomysql.MySQLFlavor,
|
||||||
Host: connectionConfig.Key.Hostname,
|
Host: connectionConfig.Key.Hostname,
|
||||||
Port: uint16(connectionConfig.Key.Port),
|
Port: uint16(connectionConfig.Key.Port),
|
||||||
User: connectionConfig.User,
|
User: connectionConfig.User,
|
||||||
Password: connectionConfig.Password,
|
Password: connectionConfig.Password,
|
||||||
TLSConfig: connectionConfig.TLSConfig(),
|
TLSConfig: connectionConfig.TLSConfig(),
|
||||||
UseDecimal: true,
|
UseDecimal: true,
|
||||||
|
MaxReconnectAttempts: migrationContext.BinlogSyncerMaxReconnectAttempts,
|
||||||
}),
|
}),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -134,6 +134,7 @@ func main() {
|
|||||||
flag.Int64Var(&migrationContext.HooksStatusIntervalSec, "hooks-status-interval", 60, "how many seconds to wait between calling onStatus hook")
|
flag.Int64Var(&migrationContext.HooksStatusIntervalSec, "hooks-status-interval", 60, "how many seconds to wait between calling onStatus hook")
|
||||||
|
|
||||||
flag.UintVar(&migrationContext.ReplicaServerId, "replica-server-id", 99999, "server id used by gh-ost process. Default: 99999")
|
flag.UintVar(&migrationContext.ReplicaServerId, "replica-server-id", 99999, "server id used by gh-ost process. Default: 99999")
|
||||||
|
flag.IntVar(&migrationContext.BinlogSyncerMaxReconnectAttempts, "binlogsyncer-max-reconnect-attempts", 0, "when master node fails, the maximum number of binlog synchronization attempts to reconnect. 0 is unlimited")
|
||||||
|
|
||||||
maxLoad := flag.String("max-load", "", "Comma delimited status-name=threshold. e.g: 'Threads_running=100,Threads_connected=500'. When status exceeds threshold, app throttles writes")
|
maxLoad := flag.String("max-load", "", "Comma delimited status-name=threshold. e.g: 'Threads_running=100,Threads_connected=500'. When status exceeds threshold, app throttles writes")
|
||||||
criticalLoad := flag.String("critical-load", "", "Comma delimited status-name=threshold, same format as --max-load. When status exceeds threshold, app panics and quits")
|
criticalLoad := flag.String("critical-load", "", "Comma delimited status-name=threshold, same format as --max-load. When status exceeds threshold, app panics and quits")
|
||||||
|
Loading…
Reference in New Issue
Block a user