From d2abf0efa94842f9080823685dadbcc482ff516c Mon Sep 17 00:00:00 2001 From: Matheus Nogueira Date: Tue, 7 Nov 2023 14:47:57 -0300 Subject: [PATCH] fix: trigger result error handling (#3340) --- server/executor/trigger_result_processor_worker.go | 14 ++++++++------ server/test/trigger/trigger_json.go | 4 +++- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/server/executor/trigger_result_processor_worker.go b/server/executor/trigger_result_processor_worker.go index c4e94e2342..f7649e950e 100644 --- a/server/executor/trigger_result_processor_worker.go +++ b/server/executor/trigger_result_processor_worker.go @@ -85,15 +85,17 @@ func (r triggerResultProcessorWorker) ProcessItem(ctx context.Context, job Job) Type: "run_update", Content: RunResult{Run: job.Run, Err: err}, }) - } else { - err := r.eventEmitter.Emit(ctx, events.TriggerExecutionSuccess(job.Run.TestID, job.Run.ID)) - if err != nil { - r.handleDBError(job.Run, err) - } + + r.handleDBError(job.Run, r.updater.Update(ctx, job.Run)) + return } - job.Run.State = test.RunStateAwaitingTrace + err := r.eventEmitter.Emit(ctx, events.TriggerExecutionSuccess(job.Run.TestID, job.Run.ID)) + if err != nil { + r.handleDBError(job.Run, err) + } + job.Run.State = test.RunStateAwaitingTrace r.handleDBError(job.Run, r.updater.Update(ctx, job.Run)) r.outputQueue.Enqueue(ctx, job) diff --git a/server/test/trigger/trigger_json.go b/server/test/trigger/trigger_json.go index cd2bca5121..c56f42b621 100644 --- a/server/test/trigger/trigger_json.go +++ b/server/test/trigger/trigger_json.go @@ -120,10 +120,11 @@ type triggerResultV2 struct { GRPC *GRPCResponse `json:"grpc,omitempty"` TraceID *TraceIDResponse `json:"traceid,omitempty"` Kafka *KafkaResponse `json:"kafka,omitempty"` + Error *TriggerError `json:"error,omitempty"` } func (tr *triggerResultV2) valid() bool { - return tr.HTTP != nil || tr.GRPC != nil || tr.TraceID != nil || tr.Kafka != nil + return tr.HTTP != nil || tr.GRPC != nil || tr.TraceID != nil || tr.Kafka != nil || tr.Error != nil } func (t *TriggerResult) UnmarshalJSON(data []byte) error { @@ -136,6 +137,7 @@ func (t *TriggerResult) UnmarshalJSON(data []byte) error { t.GRPC = v2.GRPC t.TraceID = v2.TraceID t.Kafka = v2.Kafka + t.Error = v2.Error return nil }