qinjunjerry opened a new pull request #13309:
URL: https://github.com/apache/flink/pull/13309
## What is the purpose of the change
Creating a new savepoint from an existing savepoint is broken when
relocatable savepoint is introduced in Flink 1.11. The PR fix the issue by
making a deep copy instead of shallow copy.
## Brief change log
Copy the state files of untouched operators from the existing savepoint
directory to the new savepoint directory.
## Verifying this change
This change added tests and can be verified as follows by run
SavepointDeeoCopyTest which:
- bootstraps savepoint1 with Operator1 and make sure state is large enough
to have state files in addition to _metadata
- create savepoint2 based on savepoint1 by adding Operator2
- verify all state files from savepoint1 are also presented in the
savepoint2 directory
- make sure reading the state of Operator1 from savepoint2 is succeeded, and
the number of keys remains the same
## 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)`: yes
- The serializers: no
- The runtime per-record code paths (performance sensitive): no
- Anything that affects deployment or recovery: JobManager (and its
components), Checkpointing, Kubernetes/Yarn/Mesos, ZooKeeper: no
- The S3 file system connector: no
## Documentation
- Does this pull request introduce a new feature? Kind of... Shallow copy
was used before, now it is deep copy
- If yes, how is the feature documented? Removed the warning of shallow
copy
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]