This is an automated email from the ASF dual-hosted git repository. astefanutti pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel-k.git
The following commit(s) were added to refs/heads/main by this push: new 3f3ba2e fix(builder): Fix race-condition when Build transitions to running phase 3f3ba2e is described below commit 3f3ba2ec1ba9840927aa9f8e24ef6d80573d4a6e Author: Antonin Stefanutti <anto...@stefanutti.fr> AuthorDate: Wed Aug 4 15:16:23 2021 +0200 fix(builder): Fix race-condition when Build transitions to running phase --- pkg/controller/build/monitor_routine.go | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pkg/controller/build/monitor_routine.go b/pkg/controller/build/monitor_routine.go index 64a3bbd..8ba1b67 100644 --- a/pkg/controller/build/monitor_routine.go +++ b/pkg/controller/build/monitor_routine.go @@ -68,7 +68,11 @@ func (action *monitorRoutineAction) Handle(ctx context.Context, build *v1.Build) build.Status.Error = "Build routine exists" return build, nil } - // Start the build asynchronously to avoid blocking the reconcile loop + status := v1.BuildStatus{Phase: v1.BuildPhaseRunning} + if err := action.updateBuildStatus(ctx, build, status); err != nil { + return nil, err + } + // Start the build asynchronously to avoid blocking the reconciliation loop routines.Store(build.Name, true) go action.runBuild(build) @@ -92,11 +96,7 @@ func (action *monitorRoutineAction) runBuild(build *v1.Build) { ctxWithTimeout, cancel := context.WithDeadline(ctx, build.Status.StartedAt.Add(build.Spec.Timeout.Duration)) defer cancel() - status := v1.BuildStatus{Phase: v1.BuildPhaseRunning} - if err := action.updateBuildStatus(ctx, build, status); err != nil { - return - } - + status := v1.BuildStatus{} buildDir := "" Builder := builder.New(action.client)