carp84 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_r257747108
 
 

 ##########
 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:
   For `StateBackendTestContext.restoreSnapshot` it reuses the pre-created 
keyed backend instance to do restores, so I guess you mean to merge the create 
and restore functions in `TtlStateTestBase`? It could work for rocksdb backend 
but not for others like heap backend, since the builder pattern is still not 
applied there. I believe this could be resolved after the refactoring of all 
backends done and totally agree to create a JIRA before this one is merged. But 
for the issue here, you prefer me to also apply a class-name checker in 
`StateBackendTestContext` or leave it as is? Thanks.

----------------------------------------------------------------
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:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to