You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Timo Walther (Jira)" <ji...@apache.org> on 2022/01/12 15:37:00 UTC

[jira] [Assigned] (FLINK-15585) Improve function identifier string in plan digest

     [ https://issues.apache.org/jira/browse/FLINK-15585?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Timo Walther reassigned FLINK-15585:
------------------------------------

    Assignee: Timo Walther

> Improve function identifier string in plan digest
> -------------------------------------------------
>
>                 Key: FLINK-15585
>                 URL: https://issues.apache.org/jira/browse/FLINK-15585
>             Project: Flink
>          Issue Type: Improvement
>          Components: Table SQL / Planner
>            Reporter: Jark Wu
>            Assignee: Timo Walther
>            Priority: Major
>              Labels: auto-deprioritized-major, auto-unassigned, pull-request-available
>             Fix For: 1.15.0
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> Currently, we are using {{UserDefinedFunction#functionIdentifier}} as the identifier string of UDFs in plan digest, for example: 
> {code:java}
> LogicalTableFunctionScan(invocation=[org$apache$flink$table$planner$utils$TableFunc1$8050927803993624f40152a838c98018($2)], rowType=...)
> {code}
> However, the result of {{UserDefinedFunction#functionIdentifier}} will change if we just add a method in UserDefinedFunction, because it uses Java serialization. Then we have to update 60 plan tests which is very annoying. 
> In the other hand, displaying the function identifier string in operator name in Web UI is verbose to users. 
> In order to improve this situation, there are something we can do:
> 1) If the UDF has a catalog function name, we can just use the catalog name as the digest. Otherwise, fallback to (2). 
> 2) If the UDF doesn't contain fields, we just use the full calss name as the digest. Otherwise, fallback to (3).
> 3) Use identifier string which will do the full serialization.



--
This message was sent by Atlassian Jira
(v8.20.1#820001)