mirror of
https://github.com/ClusterCockpit/cc-backend
synced 2026-07-22 06:50:38 +02:00
fix: set NodeProvider before metricstore Init so checkpoint load sees it
This commit is contained in:
@@ -368,12 +368,15 @@ func runServer(ctx context.Context) error {
|
||||
mscfg := ccconf.GetPackageConfig("metric-store")
|
||||
if mscfg != nil {
|
||||
metrics := metricstore.BuildMetricList()
|
||||
// The NodeProvider MUST be set before Init: the checkpoint load inside
|
||||
// Init consults it to load the full history for nodes with running
|
||||
// jobs. InitMetrics is sync.Once-guarded, so the second call inside
|
||||
// Init is a no-op. The repository is injected as NodeProvider to
|
||||
// break the import cycle.
|
||||
metricstore.InitMetrics(metrics)
|
||||
metricstore.GetMemoryStore().SetNodeProvider(repository.GetJobRepository())
|
||||
metricstore.Init(mscfg, metrics, &wg)
|
||||
|
||||
// Inject repository as NodeProvider to break import cycle
|
||||
ms := metricstore.GetMemoryStore()
|
||||
jobRepo := repository.GetJobRepository()
|
||||
ms.SetNodeProvider(jobRepo)
|
||||
metricstore.MetricStoreHandle = &metricstore.InternalMetricStore{}
|
||||
haveMetricstore = true
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user