Skip to content

Commit ce2ca52

Browse files
authored
Simplify critical hook execution error targeted towards operators (#745)
Details were moved to logs.
1 parent 9d73ad9 commit ce2ca52

File tree

1 file changed

+14
-17
lines changed

1 file changed

+14
-17
lines changed

core/environment/environment.go

Lines changed: 14 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -788,32 +788,29 @@ func (env *Environment) handleHooks(workflow workflow.Role, trigger string, weig
788788
// If the hook call or task is critical: true
789789
if hook.GetTraits().Critical {
790790
log.WithField("partition", env.Id().String()).
791-
Logf(logrus.FatalLevel, "critical hook failed: %s", err) // Must use Logf(FatalLevel) instead of
791+
Logf(logrus.FatalLevel, "critical hook failed at trigger %s: %s", trigger, err) // Must use Logf(FatalLevel) instead of
792792
// Fatalf because the latter calls Exit
793793
criticalFailures = append(criticalFailures, err)
794794
} else {
795-
log.WithField("level", infologger.IL_Devel).
795+
log.WithField("level", infologger.IL_Support).
796796
WithField("partition", env.Id().String()).
797-
Debugf("non-critical hook failed: %s", err)
797+
Warnf("non-critical hook failed at trigger %s: %s", trigger, err)
798798
}
799799
}
800800

801-
if len(criticalFailures) != 0 {
802-
if len(criticalFailures) > 3 {
803-
return fmt.Errorf("%d critical hooks failed at trigger %s (see InfoLogger for details)", len(criticalFailures), trigger)
804-
} else if len(criticalFailures) > 1 { // 2-3 failed hooks
805-
consolidated := make([]string, len(criticalFailures))
806-
for i, cf := range criticalFailures {
807-
consolidated[i] = cf.Error()
808-
}
809-
consolidatedS := strings.Join(consolidated, "; ")
810-
811-
return fmt.Errorf("%d critical hooks failed at trigger %s: %s", len(criticalFailures), trigger, consolidatedS)
812-
} else { // 1 hook failed
813-
return fmt.Errorf("critical hook failed at trigger %s: %s", trigger, criticalFailures[0])
801+
if len(criticalFailures) > 3 {
802+
return fmt.Errorf("%d critical hooks failed at trigger %s (see InfoLogger for details)", len(criticalFailures), trigger)
803+
} else if len(criticalFailures) > 0 { // 1-3 failed hooks
804+
consolidated := make([]string, len(criticalFailures))
805+
for i, cf := range criticalFailures {
806+
consolidated[i] = cf.Error()
814807
}
808+
consolidatedS := strings.Join(consolidated, "; ")
809+
810+
return errors.New(consolidatedS)
811+
} else {
812+
return nil
815813
}
816-
return nil
817814
}
818815

819816
func (env *Environment) handleAllHooks(workflow workflow.Role, trigger string) (err error) {

0 commit comments

Comments
 (0)