From f6989c029ea98050a6563ac1f30199b89cf6ab67 Mon Sep 17 00:00:00 2001 From: Pranav Gaikwad Date: Mon, 1 Dec 2025 12:38:29 -0500 Subject: [PATCH] :bug: do not cancel context when rule parsing fails Signed-off-by: Pranav Gaikwad --- kai_analyzer_rpc/pkg/service/pipe_analyzer.go | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/kai_analyzer_rpc/pkg/service/pipe_analyzer.go b/kai_analyzer_rpc/pkg/service/pipe_analyzer.go index 9ea40904..a0c181c6 100644 --- a/kai_analyzer_rpc/pkg/service/pipe_analyzer.go +++ b/kai_analyzer_rpc/pkg/service/pipe_analyzer.go @@ -93,9 +93,9 @@ func NewPipeAnalyzer(ctx context.Context, limitIncidents, limitCodeSnips, contex Log: l.WithName("parser"), } - discoveryRulesets, violationRulesets, neededProviders, providerConditions, err := parseRules(parser, rules, l, cancelFunc) + discoveryRulesets, violationRulesets, neededProviders, providerConditions, err := parseRules(parser, rules, l) if err != nil { - return nil, err + return nil, fmt.Errorf("unable to parse rules: %w", err) } // Report rule parsing complete @@ -194,7 +194,7 @@ func NewPipeAnalyzer(ctx context.Context, limitIncidents, limitCodeSnips, contex } -func parseRules(parser parser.RuleParser, rules string, l logr.Logger, cancelFunc func()) ([]engine.RuleSet, []engine.RuleSet, map[string]provider.InternalProviderClient, map[string][]provider.ConditionsByCap, error) { +func parseRules(parser parser.RuleParser, rules string, l logr.Logger) ([]engine.RuleSet, []engine.RuleSet, map[string]provider.InternalProviderClient, map[string][]provider.ConditionsByCap, error) { discoveryRulesets := []engine.RuleSet{} violationRulesets := []engine.RuleSet{} neededProviders := map[string]provider.InternalProviderClient{} @@ -203,7 +203,6 @@ func parseRules(parser parser.RuleParser, rules string, l logr.Logger, cancelFun internRuleSets, newNeededProviders, provConditions, err := parser.LoadRules(strings.TrimSpace(f)) if err != nil { l.Error(err, "unable to parse all the rules for ruleset", "file", f) - cancelFunc() return nil, nil, nil, nil, err } for k, v := range newNeededProviders {