GitHub user StephanEwen opened a pull request:
https://github.com/apache/flink/pull/2544
[FLINK-4218] [checkpoints] Do not rely on FileSystem to determine state
sizes
This prevents failures on eventually consistent S3, where the operations
for keys (=entries in the parent directory/bucket) are not guaranteed to be
immediately consistent (visible) after a blob was written.
Not relying on any operation on keys (= requesting `FileStatus`) should
mitigate the problem.
This also changes the exception signature from `getStateSize()` from
`Exception` to `IOException`, which fits more natural with the exception
signatures of some other I/O methods.
Related issue: We may still want to have retries on `FileStatus` operations
on S3, for other parts of the system (like FileOutputFormats)
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/StephanEwen/incubator-flink state_size_fix
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/flink/pull/2544.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #2544
----
commit 7ce2de7e14b9a1fb24c27dc674f689f08abdf7cc
Author: Stephan Ewen <[email protected]>
Date: 2016-09-23T13:16:27Z
[FLINK-4218] [checkpoints] Do not rely on FileSystem to determing state
sizes
This prevents failures on eventually consistent S3, where the operations for
keys (=entries in the parent directory/bucket) are not guaranteed to be
immediately
consistent (visible) after a blob was written.
----
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---