Skip to content

Commit 7f39b57

Browse files
authored
Merge branch 'main' into xrfxlp/device-count-labels
2 parents a5ec987 + 7cf58f4 commit 7f39b57

2 files changed

Lines changed: 18 additions & 4 deletions

File tree

fault-remediation/pkg/reconciler/reconciler.go

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1088,10 +1088,7 @@ func (r *FaultRemediationReconciler) parseHealthEvent(ctx context.Context, event
10881088
metrics.ProcessingErrors.WithLabelValues("extract_id_error", "unknown").Inc()
10891089
slog.ErrorContext(ctx, "Error extracting document ID", "error", err)
10901090

1091-
if markErr := watcherInstance.MarkProcessed(context.Background(), eventWithToken.ResumeToken); markErr != nil {
1092-
metrics.ProcessingErrors.WithLabelValues("mark_processed_error", "unknown").Inc()
1093-
slog.Error("Error updating resume token", "error", markErr)
1094-
}
1091+
_ = safeMarkProcessed(context.Background(), watcherInstance, eventWithToken.ResumeToken, "unknown")
10951092

10961093
return result, fmt.Errorf("error extracting document ID: %w", err)
10971094
}

fault-remediation/pkg/reconciler/reconciler_test.go

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1534,3 +1534,20 @@ func TestDeletedNodeCancellationEventMarkedTerminal(t *testing.T) {
15341534
_, markProcessedCount, _, _ := mockWatcher.GetCallCounts()
15351535
assert.Equal(t, 1, markProcessedCount, "expected resume token to be marked processed")
15361536
}
1537+
1538+
func TestParseHealthEventShouldNotMarkColdStartEventProcessedIfDocumentIDExtractionFails(t *testing.T) {
1539+
ctx := context.Background()
1540+
nodeName := "cold-start-node"
1541+
event := testRawHealthEvent("cold-start-event", nodeName, protos.RecommendedAction_RESTART_BM)
1542+
delete(event, "_id")
1543+
1544+
eventWithToken := datastore.EventWithToken{Event: event}
1545+
mockWatcher := &MockChangeStreamWatcher{}
1546+
reconciler := &FaultRemediationReconciler{}
1547+
1548+
_, err := reconciler.parseHealthEvent(ctx, eventWithToken, mockWatcher)
1549+
1550+
assert.ErrorContains(t, err, "error extracting document ID")
1551+
_, markProcessedCount, _, _ := mockWatcher.GetCallCounts()
1552+
assert.Equal(t, 0, markProcessedCount, "expected cold-start event without resume token to not be marked processed")
1553+
}

0 commit comments

Comments
 (0)