diff --git a/pkg/coredata/evidence_description_status.go b/pkg/coredata/evidence_description_status.go index eefb91118..c5d81c485 100644 --- a/pkg/coredata/evidence_description_status.go +++ b/pkg/coredata/evidence_description_status.go @@ -27,6 +27,7 @@ const ( EvidenceDescriptionStatusPending EvidenceDescriptionStatus = "PENDING" EvidenceDescriptionStatusProcessing EvidenceDescriptionStatus = "PROCESSING" EvidenceDescriptionStatusCompleted EvidenceDescriptionStatus = "COMPLETED" + EvidenceDescriptionStatusFailed EvidenceDescriptionStatus = "FAILED" ) func (s EvidenceDescriptionStatus) MarshalText() ([]byte, error) { @@ -43,6 +44,8 @@ func (s *EvidenceDescriptionStatus) UnmarshalText(data []byte) error { *s = EvidenceDescriptionStatusProcessing case EvidenceDescriptionStatusCompleted.String(): *s = EvidenceDescriptionStatusCompleted + case EvidenceDescriptionStatusFailed.String(): + *s = EvidenceDescriptionStatusFailed default: return fmt.Errorf("invalid EvidenceDescriptionStatus value: %q", val) } diff --git a/pkg/coredata/migrations/20260326T150000Z.sql b/pkg/coredata/migrations/20260326T150000Z.sql new file mode 100644 index 000000000..f6f22e7e1 --- /dev/null +++ b/pkg/coredata/migrations/20260326T150000Z.sql @@ -0,0 +1 @@ +ALTER TYPE evidence_description_status ADD VALUE IF NOT EXISTS 'FAILED'; diff --git a/pkg/probo/evidence_description_worker.go b/pkg/probo/evidence_description_worker.go index 36438c6c3..4bb19072d 100644 --- a/pkg/probo/evidence_description_worker.go +++ b/pkg/probo/evidence_description_worker.go @@ -161,8 +161,8 @@ func (w *EvidenceDescriptionWorker) processNext(ctx context.Context, sem chan st log.String("evidence_id", evidence.ID.String()), ) - if err := w.resetEvidence(nonCancelableCtx, &evidence); err != nil { - w.logger.ErrorCtx(nonCancelableCtx, "cannot reset evidence description status", log.Error(err)) + if err := w.failEvidence(nonCancelableCtx, &evidence); err != nil { + w.logger.ErrorCtx(nonCancelableCtx, "cannot mark evidence description as failed", log.Error(err)) } } }(evidence) @@ -219,7 +219,7 @@ func (w *EvidenceDescriptionWorker) describeAndCommit( ) } -func (w *EvidenceDescriptionWorker) resetEvidence( +func (w *EvidenceDescriptionWorker) failEvidence( ctx context.Context, evidence *coredata.Evidence, ) error { @@ -228,7 +228,7 @@ func (w *EvidenceDescriptionWorker) resetEvidence( return w.pg.WithTx( ctx, func(tx pg.Conn) error { - evidence.DescriptionStatus = coredata.EvidenceDescriptionStatusPending + evidence.DescriptionStatus = coredata.EvidenceDescriptionStatusFailed evidence.DescriptionProcessingStartedAt = nil evidence.UpdatedAt = time.Now() if err := evidence.Update(ctx, tx, scope); err != nil {