[FLINK-40595][s3] Preserve multipart uploads during recoverable stream disposal - #29132
[FLINK-40595][s3] Preserve multipart uploads during recoverable stream disposal#29132mateczagany wants to merge 2 commits into
Conversation
|
This adds a new field, a new constructor overload, and a concurrency edge case ( |
|
@gaborgsomogyi I would not mind skipping abort all together in Also, |
|
I've tested this against your What does break are 4 tests asserting plain
Which specific |
|
Yes, removing abort from However, aborting in
So the full fix would be either to:
|
|
Makese sense. Stepping back: I've now found two separate cases where selective abort corrupts recoverable state ( Given that, proactive abort only buys marginally faster cleanup within a retention window that must already be conservative for correctness reasons. That's not worth the recurring correctness risk of a hand-rolled flag/state machine that's already needed patching twice. Proposal: drop abort entirely, in both @Samrat002 WDYT since you've added that? |
What is the purpose of the change
Prevent the native S3 writer from aborting multipart uploads that may be needed for recovery. Previously, disposing an in-progress file during task shutdown or cancellation could invalidate checkpoint state, causing recovery to fail with
NoSuchUpload.Brief change log
Verifying this change
This change added tests and can be verified as follows:
Does this pull request potentially affect one of the following parts:
@Public(Evolving): noDocumentation
Was generative AI tooling used to co-author this PR?
Generated-by: Codex GPT-6