github / github/gh-ost

Why limit CutOverLockTimeoutSeconds to 10 seconds?

Offen
#474 3 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Go
Sterne
13.6k
Forks
1.4k
Ø Merge
2 Std. 31 Min.
Gemergte PRs (30 T.)
4

Beschreibung

There's a command line flag (`-cut-over-lock-timeout-seconds`) which allows you to control how much time to wait for a lock when performing a cutover.

Why is this [limited to 10 seconds](https://github.com/github/gh-ost/blob/5294ab6bd10c36bba7cd37e5739e6cab70b2cfda/go/base/context.go#L341)? Seems like [MySQL defaults to 50 sec](https://dev.mysql.com/doc/refman/5.7/en/innodb-parameters.html#sysvar_innodb_lock_wait_timeout) and allows much larger values.

It would be nice for potentially high-load tables to increase this lock wait timeout. We've had to limit database load temporarily in order to perform cut-overs due to the short lock wait timeout.

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginne bei go/base/context.go rund um das verlinkte CutOverLockTimeoutSeconds-Limit und verfolge, wie das Flag -cut-over-lock-timeout-seconds validiert und verwendet wird. Ermittle, wie größere Werte für MySQL-Cutovers unter hoher Last akzeptiert werden sollten, und überprüfe anschließend, dass das konfigurierte Timeout über das aktuelle Limit von 10 Sekunden hinaus eingehalten wird.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
go, mysql
Bereich
cli, databases
Issue-Typ
Feature
Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.