zch93 commented on code in PR #26933:
URL: https://github.com/apache/flink/pull/26933#discussion_r2296521463
##########
flink-libraries/flink-state-processing-api/src/main/java/org/apache/flink/state/table/SavepointMetadataTableFunction.java:
##########
@@ -41,6 +46,39 @@
+ "operator-coordinator-state-size-in-bytes
BIGINT NOT NULL, "
+ "operator-total-size-in-bytes BIGINT NOT
NULL>"))
public class SavepointMetadataTableFunction extends TableFunction<Row> {
+
+ public static final BuiltInFunctionDefinition SAVEPOINT_METADATA =
Review Comment:
maybe i misunderstood what happens here with `savepoint_metadata`, but
flink's planner can constant-fold and cache function results at plan time if it
believes a function is deterministic. that is correct for pure math/string
functions, but could be problematic for something like this
`savepoint_metadata`, which read external, changing state (fs/checkpoint
files). and between planning and exec, or between two exec, the metadata could
change. so i just thought whether we should tell the planner this function is
non-deterministic, so it will not pre-evaluate or cache it, and will always run
it at exec time. idk whether the `BuiltInFunctionDefinition.newBuilder()` can
supports to call `.deterministic(false)`, or use and override the UDF
`isDeterministic()`
--
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.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]