curcur commented on a change in pull request #14943:
URL: https://github.com/apache/flink/pull/14943#discussion_r584022485
##########
File path:
flink-runtime/src/main/java/org/apache/flink/runtime/state/StateBackendLoader.java
##########
@@ -204,6 +222,11 @@ public static StateBackend
fromApplicationOrConfigOrDefault(
// (1) the application defined state backend has precedence
if (fromApplication != null) {
+
+ checkArgument(
+ !(fromApplication instanceof DelegateStateBackend),
+ "DelegateStateBackend can not be delegated!");
Review comment:
But does not ALL OF US agree that `ChangelogStateBackend` is only
configured through "flag"? That long discussion with Seth, Piotr, Arvid and
you??
Please check the COUPLE OF HILIGHTS of this PR
"ChangelogStateBackend is enabled through configuration key
"state.backend.enable-statechangelog". It is not directly exposed to users,
because ChangelogStateBackend is an implementation detail and users should NOT
be aware of it. In other words, application initialization is not supported:
evn.setStateBackend(new ChangelogStateBackend(...)) NOT SUPPORT"
And that's why I added the check
"""
if (config.get(CheckpointingOptions.ENABLE_STATE_CHANGE_LOG)) {
LOG.info(
"Delegate State Backend is used, and the root State
Backend is {}",
backend.getClass().getSimpleName());
"""
Even if it allows to configure through the app, I dont think deserialization
would be a problem, which is not now. That's why I ask where the concern comes
from.
----------------------------------------------------------------
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]