MCPcopy
hub / github.com/github/gh-ost / applyEnvironmentVariables

Method applyEnvironmentVariables

go/logic/hooks.go:220–248  ·  view source on GitHub ↗
(extraVariables ...string)

Source from the content-addressed store, hash-verified

218}
219
220func (he *HooksExecutor) applyEnvironmentVariables(extraVariables ...string) []string {
221 env := os.Environ()
222 env = append(env, fmt.Sprintf("GH_OST_DATABASE_NAME=%s", he.migrationContext.DatabaseName))
223 env = append(env, fmt.Sprintf("GH_OST_TABLE_NAME=%s", he.migrationContext.OriginalTableName))
224 env = append(env, fmt.Sprintf("GH_OST_GHOST_TABLE_NAME=%s", he.migrationContext.GetGhostTableName()))
225 env = append(env, fmt.Sprintf("GH_OST_OLD_TABLE_NAME=%s", he.migrationContext.GetOldTableName()))
226 env = append(env, fmt.Sprintf("GH_OST_DDL=%s", he.migrationContext.AlterStatement))
227 env = append(env, fmt.Sprintf("GH_OST_ELAPSED_SECONDS=%f", he.migrationContext.ElapsedTime().Seconds()))
228 env = append(env, fmt.Sprintf("GH_OST_ELAPSED_COPY_SECONDS=%f", he.migrationContext.ElapsedRowCopyTime().Seconds()))
229 estimatedRows := atomic.LoadInt64(&he.migrationContext.RowsEstimate) + atomic.LoadInt64(&he.migrationContext.RowsDeltaEstimate)
230 env = append(env, fmt.Sprintf("GH_OST_ESTIMATED_ROWS=%d", estimatedRows))
231 totalRowsCopied := he.migrationContext.GetTotalRowsCopied()
232 env = append(env, fmt.Sprintf("GH_OST_COPIED_ROWS=%d", totalRowsCopied))
233 env = append(env, fmt.Sprintf("GH_OST_MIGRATED_HOST=%s", he.migrationContext.GetApplierHostname()))
234 env = append(env, fmt.Sprintf("GH_OST_INSPECTED_HOST=%s", he.migrationContext.GetInspectorHostname()))
235 env = append(env, fmt.Sprintf("GH_OST_EXECUTING_HOST=%s", he.migrationContext.Hostname))
236 env = append(env, fmt.Sprintf("GH_OST_INSPECTED_LAG=%f", he.migrationContext.GetCurrentLagDuration().Seconds()))
237 env = append(env, fmt.Sprintf("GH_OST_HEARTBEAT_LAG=%f", he.migrationContext.TimeSinceLastHeartbeatOnChangelog().Seconds()))
238 env = append(env, fmt.Sprintf("GH_OST_PROGRESS=%f", he.migrationContext.GetProgressPct()))
239 env = append(env, fmt.Sprintf("GH_OST_ETA_SECONDS=%d", he.migrationContext.GetETASeconds()))
240 env = append(env, fmt.Sprintf("GH_OST_HOOKS_HINT=%s", he.migrationContext.HooksHintMessage))
241 env = append(env, fmt.Sprintf("GH_OST_HOOKS_HINT_OWNER=%s", he.migrationContext.HooksHintOwner))
242 env = append(env, fmt.Sprintf("GH_OST_HOOKS_HINT_TOKEN=%s", he.migrationContext.HooksHintToken))
243 env = append(env, fmt.Sprintf("GH_OST_DRY_RUN=%t", he.migrationContext.Noop))
244 env = append(env, fmt.Sprintf("GH_OST_REVERT=%t", he.migrationContext.Revert))
245
246 env = append(env, extraVariables...)
247 return env
248}
249
250// executeHook executes a command, and sets relevant environment variables
251// combined output & error are printed to the configured writer.

Callers 1

executeHookMethod · 0.95

Calls 11

GetGhostTableNameMethod · 0.80
GetOldTableNameMethod · 0.80
ElapsedTimeMethod · 0.80
ElapsedRowCopyTimeMethod · 0.80
GetTotalRowsCopiedMethod · 0.80
GetApplierHostnameMethod · 0.80
GetInspectorHostnameMethod · 0.80
GetCurrentLagDurationMethod · 0.80
GetProgressPctMethod · 0.80
GetETASecondsMethod · 0.80

Tested by

no test coverage detected