You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add context/timeout to HTTP throttle check (#1131)
* Add context/timeout to HTTP throttle check
* Dont run `.GetThrottleHTTPInterval()` on every loop
* Update help message
* Var rename
* 2022
* Add timeout flag
* Add unix/tcp server commands, use ParseInt() for string->int64
* Var rename
* Re-check http timeout on every loop iteration
* Remove stale comment
* Make throttle interval idempotent
* var rename
* Usage grammar
* Make http timeout idempotent too
* Parse time.Duration once
* Move timeout to NewThrottler
* Help update
* Set User-Agent header
* Re-add newline
Co-authored-by: dm-2 <[email protected]>
Copy file name to clipboardExpand all lines: go/cmd/gh-ost/main.go
+4-2Lines changed: 4 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,5 @@
1
1
/*
2
-
Copyright 2016 GitHub Inc.
2
+
Copyright 2022 GitHub Inc.
3
3
See https://github.com/github/gh-ost/blob/master/LICENSE
4
4
*/
5
5
@@ -110,6 +110,8 @@ func main() {
110
110
throttleControlReplicas:=flag.String("throttle-control-replicas", "", "List of replicas on which to check for lag; comma delimited. Example: myhost1.com:3306,myhost2.com,myhost3.com:3307")
111
111
throttleQuery:=flag.String("throttle-query", "", "when given, issued (every second) to check if operation should throttle. Expecting to return zero for no-throttle, >0 for throttle. Query is issued on the migrated server. Make sure this query is lightweight")
112
112
throttleHTTP:=flag.String("throttle-http", "", "when given, gh-ost checks given URL via HEAD request; any response code other than 200 (OK) causes throttling; make sure it has low latency response")
113
+
flag.Int64Var(&migrationContext.ThrottleHTTPIntervalMillis, "throttle-http-interval-millis", 100, "Number of milliseconds to wait before triggering another HTTP throttle check")
114
+
flag.Int64Var(&migrationContext.ThrottleHTTPTimeoutMillis, "throttle-http-timeout-millis", 1000, "Number of milliseconds to use as an HTTP throttle check timeout")
113
115
ignoreHTTPErrors:=flag.Bool("ignore-http-errors", false, "ignore HTTP connection errors during throttle check")
114
116
heartbeatIntervalMillis:=flag.Int64("heartbeat-interval-millis", 100, "how frequently would gh-ost inject a heartbeat value")
115
117
flag.StringVar(&migrationContext.ThrottleFlagFile, "throttle-flag-file", "", "operation pauses when this file exists; hint: use a file that is specific to the table being altered")
0 commit comments