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

Ramin Gharib reassigned FLINK-39867:
------------------------------------

    Assignee: Ramin Gharib

> Harden built-in scalar function runtime: remove hot-path logging and validate 
> constant args
> -------------------------------------------------------------------------------------------
>
>                 Key: FLINK-39867
>                 URL: https://issues.apache.org/jira/browse/FLINK-39867
>             Project: Flink
>          Issue Type: Improvement
>          Components: Table SQL / API, Table SQL / Runtime
>            Reporter: Ramin Gharib
>            Assignee: Ramin Gharib
>            Priority: Major
>
> Several built-in scalar functions in {{SqlFunctionUtils}} log on every input 
> row when given malformed input. Per-row logging on a runtime path is an 
> anti-pattern. It can flood logs, leak user data into log files, and cost 
> throughput, while the function already returns null or falls back. None of 
> the log lines change behavior.                                                
>                                                          
>                                                                               
>                                                                    
> FLINK-39648 already removed this pattern from {{{}REGEXP{}}}. This umbrella 
> applies the same treatment to the remaining cases. Where the logged or 
> failing condition comes from a constant argument, it replaces the per-row log 
> with fail-fast plan-time validation via an {{{}InputTypeStrategy{}}}, 
> matching the regexp approach.
>                                                      
>   Scope:                                                                      
>                                                                    
>  * {{{}PARSE_URL, SUBSTRING{}}}: remove per-row logging. No type strategy.
>  * {{{}ENCODE{}}}: validate a literal charset at planning time. New type 
> strategy. Removes the per-row warning.
>  * {{{}STR_TO_MAP{}}}: validate literal regex delimiters at planning time. 
> New type strategy. Closes an uncaught runtime failure. 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to