davidzollo commented on PR #11503:
URL: https://github.com/apache/seatunnel/pull/11503#issuecomment-5603212472

   > ## Review result
   > I found one blocking issue.
   > 
   > ### [P1] Avoid timestamp collisions between restore events
   > `RestoreTableSchemaEvent` is constructed once per restored table in a 
tight loop, while `TableEvent` initializes `createdTime` using 
`System.currentTimeMillis()`.
   > 
   > `SchemaOperator` keeps a single global `lastProcessedEventTime` and skips 
events whose timestamp is less than or equal to it. During multi-table 
recovery, two restore events can therefore receive the same millisecond 
timestamp. After the first event is processed, the second one will be treated 
as outdated and skipped, releasing buffered rows while that table's downstream 
runtime schema remains stale.
   > 
   > Please make restore-event ordering collision-free, or exempt the 
idempotent restore event from the outdated-event check. It would also be 
helpful to add a multi-table recovery test where two restore events have the 
same timestamp.
   > 
   > 
https://github.com/apache/seatunnel/pull/11503/files#diff-02afea5d841639f8e5fc65672da188056f4857d99d8b7584a87e3da0088efe0aR403
   > 
   > ## Verification
   > * Reviewed the complete diff and runtime recovery path.
   > * Checked existing reviews and comments; this issue has not been reported.
   > * Current head: `f77cdfa677d497092506f74a012f057cc9f7e2db`
   > * GitHub checks are green.
   > * `git diff --check` passed.
   > * Focused API test passed: 3 tests, 0 failures.
   
   I'll fix this low probability issue in a new PR, this PR's CI fix too many 
times~ 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to