[ 
https://issues.apache.org/jira/browse/FLINK-39778?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

ASF GitHub Bot updated FLINK-39778:
-----------------------------------
    Labels: pull-request-available  (was: )

> Recoverable writer silently loses the in-flight tail on resume
> --------------------------------------------------------------
>
>                 Key: FLINK-39778
>                 URL: https://issues.apache.org/jira/browse/FLINK-39778
>             Project: Flink
>          Issue Type: Sub-task
>          Components: Connectors / FileSystem
>            Reporter: Samrat Deb
>            Priority: Major
>              Labels: pull-request-available
>             Fix For: 2.4.0
>
>
> persist() uploads the un-parted tail to a side object 
> <key>/.incomplete/<uploadId>/<uuid> and records incompleteObjectName in the 
> NativeS3Recoverable. But recover() rebuilds
> the stream from parts() + numBytesInParts() only — 
> s3recoverable.incompleteObjectName() is never read:
> return new NativeS3RecoverableFsDataOutputStream(
> s3AccessHelper, s3recoverable.getObjectName(), s3recoverable.uploadId(),
> localTmpDir, userDefinedMinPartSize,
> s3recoverable.parts(), s3recoverable.numBytesInParts());
> After resume from a checkpoint with a partial part, those bytes are silently 
> dropped — exactly-once degrades to "at-most-once minus tail." 
> cleanupRecoverableState() deletes
> the side object, confirming the intent; recover() just forgot to read it back.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to