You are viewing a plain text version of this content. The canonical link for it is here.
Posted to devnull@infra.apache.org by "StephanEwen (GitHub)" <gi...@apache.org> on 2018/08/22 21:01:52 UTC
[GitHub] [flink] StephanEwen opened pull request #6604: [FLINK-9061]
Optionally add entropy to checkpoint paths better S3 scalability
## What is the purpose of the change
This pull request adds hooks to optionally inject entropy to the checkpoint path based upon a user defined pattern in the configuration for better S3 scalability.
This is a revised version of #6302 by @indrc (based on Flink 1.4) that ports the changes to the new FileStateStorage code introduced in Flink 1.5.
## Brief change log
- Adds an optional `CheckpointPathFilter` that is applied to data and metadata paths before creating the files
- Adds an implementation of that filter that replaces entropy keys with entropy (data files) or removes the entropy key (metadata files)
- Adds functionality to read the entropy pattern from the config or set it on the state backend, and configure the CheckpointPathFilter based on that
## Verifying this change
- Added unit tests under `org.apache.flink.runtime.state.filesystem`
## Does this pull request potentially affect one of the following parts:
- Dependencies (does it add or upgrade a dependency): **no**
- The public API, i.e., is any changed class annotated with `@Public(Evolving)`: **no**
- The serializers: **no**
- The runtime per-record code paths (performance sensitive): **no**
- Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Yarn/Mesos, ZooKeeper: **yes**
- The S3 file system connector: **no**
## Documentation
- Does this pull request introduce a new feature? **yes**
- If yes, how is the feature documented? **docs**
[ Full content available at: https://github.com/apache/flink/pull/6604 ]
This message was relayed via gitbox.apache.org for devnull@infra.apache.org
[GitHub] [flink] StephanEwen commented on issue #6604: [FLINK-9061]
Optionally add entropy to checkpoint paths better S3 scalability
Posted by "StephanEwen (GitHub)" <gi...@apache.org>.
Test failures fixed - needed to adjust the mocking in some other tests. Classic ;-)
[ Full content available at: https://github.com/apache/flink/pull/6604 ]
This message was relayed via gitbox.apache.org for devnull@infra.apache.org
[GitHub] [flink] StephanEwen closed pull request #6604: [FLINK-9061]
Optionally add entropy to checkpoint paths better S3 scalability
Posted by "StephanEwen (GitHub)" <gi...@apache.org>.
[ pull request closed by StephanEwen ]
[ Full content available at: https://github.com/apache/flink/pull/6604 ]
This message was relayed via gitbox.apache.org for devnull@infra.apache.org
[GitHub] [flink] StephanEwen commented on issue #6604: [FLINK-9061]
Optionally add entropy to checkpoint paths better S3 scalability
Posted by "StephanEwen (GitHub)" <gi...@apache.org>.
Okay, updated the implementation. Moved the entropy injection code tho the FS implementation, which is much more clean.
PR description updated...
[ Full content available at: https://github.com/apache/flink/pull/6604 ]
This message was relayed via gitbox.apache.org for devnull@infra.apache.org
[GitHub] [flink] StefanRRichter commented on issue #6604:
[FLINK-9061] Optionally add entropy to checkpoint paths better S3 scalability
Posted by "StefanRRichter (GitHub)" <gi...@apache.org>.
Modulo some test failures from NPEs.
[ Full content available at: https://github.com/apache/flink/pull/6604 ]
This message was relayed via gitbox.apache.org for devnull@infra.apache.org
[GitHub] [flink] StefanRRichter commented on pull request #6604:
[FLINK-9061] Optionally add entropy to checkpoint paths better S3 scalability
Posted by "StefanRRichter (GitHub)" <gi...@apache.org>.
Isn't this problematic here: if we have a concept that paths can contain an entropy key, we still call `mkdirs` on the "unfiltered" paths in the following lines. It seems to clash a bit with the storage location idea.
[ Full content available at: https://github.com/apache/flink/pull/6604 ]
This message was relayed via gitbox.apache.org for devnull@infra.apache.org
[GitHub] [flink] StefanRRichter commented on pull request #6604:
[FLINK-9061] Optionally add entropy to checkpoint paths better S3 scalability
Posted by "StefanRRichter (GitHub)" <gi...@apache.org>.
`PathTransformer` might be a better name for what it does (see your own comment).
I also wonder if we could simply collapse the separation path + transformer into a `PathProvider` or `PathFactory` and we could have one for data and one for meta data. This can be a bit tricky for `FsCheckpointStorageLocation`, but also the current solution seems problematic.
[ Full content available at: https://github.com/apache/flink/pull/6604 ]
This message was relayed via gitbox.apache.org for devnull@infra.apache.org
[GitHub] [flink] StephanEwen commented on issue #6604: [FLINK-9061]
Optionally add entropy to checkpoint paths better S3 scalability
Posted by "StephanEwen (GitHub)" <gi...@apache.org>.
Fixed for 1.6 in a58fa985c4944dd0cf39fa622ec0aa4b35f21f44
For master, I will open a new PR that is rebased on the latest commits...
[ Full content available at: https://github.com/apache/flink/pull/6604 ]
This message was relayed via gitbox.apache.org for devnull@infra.apache.org
[GitHub] [flink] StefanRRichter commented on issue #6604:
[FLINK-9061] Optionally add entropy to checkpoint paths better S3 scalability
Posted by "StefanRRichter (GitHub)" <gi...@apache.org>.
👍 from my side in case you were waiting for that ;-)
[ Full content available at: https://github.com/apache/flink/pull/6604 ]
This message was relayed via gitbox.apache.org for devnull@infra.apache.org
[GitHub] [flink] StephanEwen commented on issue #6604: [FLINK-9061]
Optionally add entropy to checkpoint paths better S3 scalability
Posted by "StephanEwen (GitHub)" <gi...@apache.org>.
Good points - these were actually problems in the original PR as well...
Will try to come up with a solution for that...
[ Full content available at: https://github.com/apache/flink/pull/6604 ]
This message was relayed via gitbox.apache.org for devnull@infra.apache.org