SEZ9 commented on issue #12849: URL: https://github.com/apache/seatunnel/issues/12849#issuecomment-6245075346
Thanks for the detailed analysis. The race looks plausible: completion is decided from the pending set while `actionStates` is mutated separately and shared with `CompletedCheckpoint`, so an ack that finishes after the completing ack can leave a `null` subtask state in the stored checkpoint. The monitor inaccuracies (`stateSize` counting arrays instead of bytes, and `TaskStatistics` created per subtask with a single slot so `reportSubtaskStatistics` rejects index >= 1) are a separate concern from the race. Since #12850 already covers both, it would help review if the monitor changes are kept in their own commit, or split into a separate PR if that is easy to do. I'll take a look at #12850. It would be great if the PR includes the two-thread `PendingCheckpointTest` reproduction from the issue as a regression test. <!-- streview-comment:1837 --> -- 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]
