<#3233 [BUG] Flyte binary not capturing go context...
# flyte-github
a
#3233 [BUG] Flyte binary not capturing go context in cluster manager Issue created by wild-endeavor Describe the bug Flyte has a series of backend services (propeller, admin, etc.). The Flyte binary, built here, combines all these into one. When we wrote it, we didn't realize the behavior of the
Wait()
call on the
errgroup.WithContext
doesn't return on first error. It waits til all the go-routines finish, and then returns the first error. I only cancels the context. This means that all the goroutines have to monitor the context and terminate itself on context cancel. This is missing for the clusterresourcemanager - flyte/cmd/single/start.go Line 49 in </flyteorg/flyte/commit/f69fb09ca189e8bf57e1a6a12db168274f640d15|f69fb09> . This means that if Flyte Admin fails, the binary itself will proceed as normal, just without admin, since the cluster resource manager runs in perpetuity, which is how we found this issue. Expected behavior The whole process should fail if Admin fails. Add context monitoring logic to cluster resource controller and go through the other errgroups to make sure everything launched is also doing the right thing. Additional context to reproduce No response Screenshots No response Are you sure this issue hasn't been raised already? ☑︎ Yes Have you read the Code of Conduct? ☑︎ Yes flyteorg/flyte