Skip to content

Commit f4e3e84

Browse files
committed
refactor(webapp): share JSON-parse recovery and keep poison rows with their JSON stripped
Extract the Cannot-parse-JSON recovery into one helper shared by the run replication and trace/event writers instead of a near-duplicate copy in each. Recovery now isolates the un-ingestable rows by bisection and re-inserts each with its JSON column emptied, so the row still lands: a run keeps its terminal status and a span keeps its place in the trace, and only the un-ingestable content is dropped. Clean rows land in full; a row that cannot parse even stripped is dropped and counted.
1 parent a63e553 commit f4e3e84

7 files changed

Lines changed: 370 additions & 398 deletions

.server-changes/fix-runs-list-batch-drop-on-unparseable-json.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,4 @@ area: webapp
33
type: fix
44
---
55

6-
Fixed a rare case where a single run or span carrying data that could not be ingested would make other runs or trace events in the same batch go missing from the runs list, traces, and logs. Now only the affected item is dropped and everything else is stored normally.
6+
Fixed a rare case where a single run or span carrying data that could not be ingested would make other runs or trace events in the same batch go missing from the runs list, traces, and logs. Now the whole batch is kept: the affected item still appears (a run keeps its status, a span keeps its place in the trace) with only its un-ingestable content dropped, and everything else is stored normally.

0 commit comments

Comments
 (0)