From 5f19433103f5d5fb78ca31fced71e86bbf235868 Mon Sep 17 00:00:00 2001 From: wucm667 Date: Mon, 17 Aug 2026 10:52:57 +0800 Subject: [PATCH] fix(ops): avoid single-insert fallback after batch failure --- backend/internal/service/ops_service.go | 13 ++----------- backend/internal/service/ops_service_batch_test.go | 6 +++--- 2 files changed, 5 insertions(+), 14 deletions(-) diff --git a/backend/internal/service/ops_service.go b/backend/internal/service/ops_service.go index b1d9b9f57c..c651b9184d 100644 --- a/backend/internal/service/ops_service.go +++ b/backend/internal/service/ops_service.go @@ -439,17 +439,8 @@ func (s *OpsService) RecordErrorBatch(ctx context.Context, entries []*OpsInsertE } if _, err := s.opsRepo.BatchInsertErrorLogs(ctx, prepared); err != nil { - log.Printf("[Ops] RecordErrorBatch failed, fallback to single inserts: %v", err) - var firstErr error - for _, entry := range prepared { - if _, insertErr := s.opsRepo.InsertErrorLog(ctx, entry); insertErr != nil { - log.Printf("[Ops] RecordErrorBatch fallback insert failed: %v", insertErr) - if firstErr == nil { - firstErr = insertErr - } - } - } - return firstErr + log.Printf("[Ops] RecordErrorBatch failed: %v", err) + return err } return nil } diff --git a/backend/internal/service/ops_service_batch_test.go b/backend/internal/service/ops_service_batch_test.go index a027f48737..e6a87191dc 100644 --- a/backend/internal/service/ops_service_batch_test.go +++ b/backend/internal/service/ops_service_batch_test.go @@ -69,7 +69,7 @@ func TestOpsServiceRecordErrorBatch_SanitizesAndBatches(t *testing.T) { require.False(t, second.CreatedAt.IsZero()) } -func TestOpsServiceRecordErrorBatch_FallsBackToSingleInsert(t *testing.T) { +func TestOpsServiceRecordErrorBatch_DoesNotFallbackToSingleInsertsWhenBatchFails(t *testing.T) { t.Parallel() var ( @@ -92,9 +92,9 @@ func TestOpsServiceRecordErrorBatch_FallsBackToSingleInsert(t *testing.T) { {ErrorMessage: "first"}, {ErrorMessage: "second"}, }) - require.NoError(t, err) + require.Error(t, err) require.Equal(t, 1, batchCalls) - require.Equal(t, 2, singleCalls) + require.Zero(t, singleCalls) } func TestOpsServiceRecordErrorPersistsExplicitAccountAuthStatusZero(t *testing.T) {