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]
