Skip to content

Commit bdce6a8

Browse files
committed
Return the cache cleanup function on errors
This left query batches lingering if automatic cache clean up is disabled on errors. Relates: https://issues.redhat.com/browse/ACM-8928 Signed-off-by: mprahl <[email protected]>
1 parent c515185 commit bdce6a8

File tree

1 file changed

+5
-7
lines changed

1 file changed

+5
-7
lines changed

pkg/templates/templates.go

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -570,7 +570,11 @@ func (t *TemplateResolver) ResolveTemplate(
570570
}
571571
}
572572

573-
if !options.DisableAutoCacheCleanUp {
573+
if options.DisableAutoCacheCleanUp {
574+
resolvedResult.CacheCleanUp = func() error {
575+
return t.dynamicWatcher.EndQueryBatch(*options.Watcher)
576+
}
577+
} else {
574578
defer func() {
575579
err := t.dynamicWatcher.EndQueryBatch(watcher)
576580
if err != nil && !errors.Is(err, client.ErrQueryBatchNotStarted) {
@@ -611,12 +615,6 @@ func (t *TemplateResolver) ResolveTemplate(
611615
return resolvedResult, fmt.Errorf("failed to convert the resolved template to JSON: %w", err)
612616
}
613617

614-
resolvedResult = TemplateResult{
615-
ResolvedJSON: resolvedTemplateBytes,
616-
CacheCleanUp: func() error {
617-
return t.dynamicWatcher.EndQueryBatch(*options.Watcher)
618-
},
619-
}
620618
resolvedResult.ResolvedJSON = resolvedTemplateBytes
621619

622620
return resolvedResult, nil

0 commit comments

Comments
 (0)