[ https://issues.apache.org/jira/browse/FLINK-15585?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Flink Jira Bot updated FLINK-15585: ----------------------------------- Labels: auto-unassigned pull-request-available (was: pull-request-available stale-assigned) > 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 > Labels: auto-unassigned, pull-request-available > Fix For: 1.14.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.3.4#803005)