[FLINK-11196] Extend S3 EntropyInjector to use key replacement (instead of key removal) when creating checkpoint metadata files. #7333
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
[FLINK-11196] Extend S3 EntropyInjector to use key replacement (instead of key removal) when creating checkpoint metadata files.
What is the purpose of the change
Extend S3 entropy injection feature to optionally replace the entropy marker in the path (instead of just removing the marker) when writing checkpoint metadata files.
It introduces a new configuration
s3.entropy.replacement
which specifies the string that will be use to replace the entropy marker with (only when writing checkpoint metadata files). Checkpoint state files entropy injection behavior does not change.If
s3.entropy.replacement
is not configured, then the behavior will be the same as it is today. Entropy marker will be removed from checkpoint metadata file path and entropy will be injected for checkpoint state file paths. This PR is an optional extension to the current feature. Only ifs3.entropy.replacement
is set to a non-empty string, it will use the value to replace the entropy marker when writing checkpoint metadata files.Verifying this change
Does this pull request potentially affect one of the following parts:
@Public(Evolving)
: noDocumentation