You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Subscription: retain tsfile events in tsfile batch to avoid premature commit (#15598) (#15601)
Consider the historical data export snapshot scenario:
1. The events delivered upstream are, in order, the tsfile event and the termination event.
2. The tsfile event is parsed into multiple tablet events, and then the reference count of the tsfile event is set to 0 (should report as false).
3. Assuming that for some reason the tablet events were not sent to the peer in time, the reference count of the transfer termination event is set to 0 (should report as true).
4. At this point, because the tablet events were not enriched with a commit id (see Subscription: fully managed tsfile parsing process for tsfile format topic #15524), the termination event successfully marks the corresponding DR complete, which in turn leads to data loss.
Copy file name to clipboardExpand all lines: iotdb-core/datanode/src/main/java/org/apache/iotdb/db/subscription/event/batch/SubscriptionPipeTsFileEventBatch.java
+10-1Lines changed: 10 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -57,12 +57,22 @@ public SubscriptionPipeTsFileEventBatch(
0 commit comments