From e5894d0c5c14a3b9dcddc4d179589f0909460e34 Mon Sep 17 00:00:00 2001 From: Piotr Konopka Date: Fri, 27 Jun 2025 08:58:35 +0200 Subject: [PATCH] [core] propagate original_run_number as FairMQ property to tasks Closes OCTRL-1032 --- core/environment/transition_startactivity.go | 1 + core/integration/odc/plugin.go | 4 ++++ docs/handbook/configuration.md | 1 + 3 files changed, 6 insertions(+) diff --git a/core/environment/transition_startactivity.go b/core/environment/transition_startactivity.go index 8ed1b5fc..86f13cba 100644 --- a/core/environment/transition_startactivity.go +++ b/core/environment/transition_startactivity.go @@ -94,6 +94,7 @@ func (t StartActivityTransition) do(env *Environment) (err error) { "lhc_period", "pdp_beam_type", "pdp_override_run_start_time", + "original_run_number", } { if value, ok := cvs[key]; ok { // we push the above parameters with both camelCase and snake_case identifiers for convenience diff --git a/core/integration/odc/plugin.go b/core/integration/odc/plugin.go index 96d0102a..b1550e95 100644 --- a/core/integration/odc/plugin.go +++ b/core/integration/odc/plugin.go @@ -1365,6 +1365,7 @@ func (p *Plugin) CallStack(data interface{}) (stack map[string]interface{}) { WithField("call", "Start"). Warn("cannot acquire run number for ODC") } + originalRunNumber, _ := varStack["original_run_number"] cleanupCountS, ok := varStack["__fmq_cleanup_count"] if !ok { log.WithField("partition", envId). @@ -1407,6 +1408,9 @@ func (p *Plugin) CallStack(data interface{}) (stack map[string]interface{}) { arguments["runNumber"] = rn arguments["run_start_time_ms"] = runStartTimeMs arguments["cleanup"] = strconv.Itoa(cleanupCount) + if len(originalRunNumber) > 0 { + arguments["original_run_number"] = originalRunNumber + } ctx, cancel := context.WithTimeout(context.Background(), timeout) defer cancel() diff --git a/docs/handbook/configuration.md b/docs/handbook/configuration.md index 9f937652..79811460 100644 --- a/docs/handbook/configuration.md +++ b/docs/handbook/configuration.md @@ -443,6 +443,7 @@ In addition to the above, which varies depending on the configuration of the env * `lhcPeriod` * `pdp_beam_type` * `pdp_override_run_start_time` + * `original_run_number` The following values are pushed by AliECS during `STOP_ACTIVITY`: