[
https://issues.apache.org/jira/browse/FLINK-21738?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17300033#comment-17300033
]
Jark Wu commented on FLINK-21738:
---------------------------------
I think it's a good idea to support caching. But the cache should be in Module
intead of ModuleManager. Only Module itself can know whether the function list
is deterministic or not.
There is another improvement here, currently the
{{ModuleManager#getFunctionDefinition}} will iterate all the modules, however,
we only to iterate until the first function found.
> reduce unnecessary method calls in ModuleManager
> -------------------------------------------------
>
> Key: FLINK-21738
> URL: https://issues.apache.org/jira/browse/FLINK-21738
> Project: Flink
> Issue Type: Improvement
> Components: Table SQL / API
> Reporter: zoucao
> Priority: Major
>
> In flink sql, if we use many functions(hive func or flink built-in func),
> Flink will call method
> `getFunctionDefinition` in
> [ModuleManager|https://github.com/apache/flink/blob/97bfd049951f8d52a2e0aed14265074c4255ead0/flink-table/flink-table-api-java/src/main/java/org/apache/flink/table/module/ModuleManager.java#L44]
> many times to load func and each module's method `listFunctions` will be
> called at the same time. I think the same result will be returned for one
> module, so maybe a cache should be used here to reduce time waste.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)