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

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

    [ https://issues.apache.org/jira/browse/FLINK-15585?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17015563#comment-17015563 ] 

Jingsong Lee commented on FLINK-15585:
--------------------------------------

+1

Web UI is OK, because we use {{displayName}} in {{ScalarSqlFunction.toString}}. The issue is in the plan.

> 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)