StefanRRichter commented on a change in pull request #7674: [FLINK-10043]
[State Backends] Refactor RocksDBKeyedStateBackend object
construction/initialization/restore code
URL: https://github.com/apache/flink/pull/7674#discussion_r257749152
##########
File path:
flink-streaming-java/src/main/java/org/apache/flink/streaming/api/operators/BackendRestorerProcedure.java
##########
@@ -141,14 +141,17 @@ public T createAndRestore(@Nonnull List<? extends
Collection<S>> restoreOptions)
private T attemptCreateAndRestore(Collection<S> restoreState) throws
Exception {
// create a new, empty backend.
- final T backendInstance = instanceSupplier.get();
+ final T backendInstance = instanceSupplier.apply(restoreState);
try {
// register the backend with the registry to
participate in task lifecycle w.r.t. cancellation.
backendCloseableRegistry.registerCloseable(backendInstance);
// attempt to restore from snapshot (or null if no
state was checkpointed).
- backendInstance.restore(restoreState);
+ // TODO we could remove this invocation when moving all
backend's restore into builder
+ if
(!backendInstance.getClass().getName().contains("RocksDBKeyedStateBackend")) {
Review comment:
Yes, I speak of a merge between create and restore. I think until the
refactoring of all backends to builder pattern is complete you can still use
call `restore`on the keyed state backend instances. But once we changed this
for RocksDB, if I see correctly, we can also let RocksDB have an empty restore
method and then it would work again.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
With regards,
Apache Git Services