You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Jark Wu (Jira)" <ji...@apache.org> on 2020/01/14 13:04: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 ]

Jark Wu reassigned FLINK-15585:
-------------------------------

    Assignee: godfrey he

> 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: godfrey he
>            Priority: Major
>
> 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.3.4#803005)