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

kunghsu updated FLINK-25493:
----------------------------
    Description: 
English Description 
The date type data is NULL and the reason for the SQL verification failure is 
null
If the value of date type in the data table is empty, an exception will be 
found when executing sql query -- 
org.apache.flink.table.api.ValidationException: SQL validation failed. null
 
A null pointer exception was found under cause by, as follows:
!image-2021-12-31-14-03-47-795.png!
 
After in-depth investigation, it is found that the date type data in the data 
table is NULL, which leads to the above phenomenon.
The guess is that during SQL execution, hive-exec.jar encountered null and 
could not handle it, and it failed to make a non-null judgment, resulting in a 
NullPointException.
The key to this problem is that when this kind of data error occurs, it should 
not prompt SQL validation failed. null
This kind of error message is easy to make people mistakenly think that there 
is a problem with SQL itself, but SQL is actually correct.
 
suggestion:
1. Optimize the error message caused by this kind of null data to facilitate 
the location of the problem
2. Don't throw ValidationException, consider throwing ExecException


 

The content below is the same as above and can be ignored

---------------------------------------------------------------------------------------------------------------

中文版Description

日期类型数据为NULL导致SQL校验失败原因为null

假如数据表中date类型的数值为空,在执行sql 
query时,会发现异常org.apache.flink.table.api.ValidationException: SQL validation 
failed. null

在cause by下发现了一个空指针异常,如下:

!image-2021-12-31-14-03-47-795.png!

 

深入排查后发现是数据表中date类型的数据为NULL,导致了上面的现象。

猜测是SQL执行过程中,hive-exec.jar遇到null无法处理,没有做好非空判断,导致了NullPointException。

该问题的关键是,出现这种数据错误的时候,不应该提示 SQL validation failed. null

这种报错提示很容易让人误以为SQL本身有问题,但SQL其实是正确的。

 

建议:

1.优化这种null数据导致的错误提示,方便定位问题

2.不要抛出ValidationException,可以考虑抛出ExecException

  was:
英文版

 

中文版

日期类型数据为空导致SQL校验失败原因为null

假如数据表中date类型的数值为空,在执行sql 
query时,会发现异常org.apache.flink.table.api.ValidationException: SQL validation 
failed. null

然后在cause by下发现了一个空指针异常,如下:

!image-2021-12-31-14-03-47-795.png!

 

深入排查后发现是因为数据表中date类型的数据为NULL,导致了上面的现象。

猜测是SQL执行过程中,遇到null无法处理,没有做好非空判断,导致了空指针。

但问题的关键是,出现这种数据错误,不应该提示 SQL validation failed. null

这种报错提示很容易让人误以为SQL本身有问题,但SQL其实是正确的。

 

建议:

优化这种null数据导致的错误提示,方便定位问题

 


> 日期类型数据为空导致SQL校验失败原因为null
> ------------------------
>
>                 Key: FLINK-25493
>                 URL: https://issues.apache.org/jira/browse/FLINK-25493
>             Project: Flink
>          Issue Type: Bug
>          Components: Table SQL / API
>    Affects Versions: 1.12.3
>            Reporter: kunghsu
>            Priority: Major
>         Attachments: image-2021-12-31-14-03-47-795.png
>
>   Original Estimate: 200h
>  Remaining Estimate: 200h
>
> English Description 
> The date type data is NULL and the reason for the SQL verification failure is 
> null
> If the value of date type in the data table is empty, an exception will be 
> found when executing sql query -- 
> org.apache.flink.table.api.ValidationException: SQL validation failed. null
>  
> A null pointer exception was found under cause by, as follows:
> !image-2021-12-31-14-03-47-795.png!
>  
> After in-depth investigation, it is found that the date type data in the data 
> table is NULL, which leads to the above phenomenon.
> The guess is that during SQL execution, hive-exec.jar encountered null and 
> could not handle it, and it failed to make a non-null judgment, resulting in 
> a NullPointException.
> The key to this problem is that when this kind of data error occurs, it 
> should not prompt SQL validation failed. null
> This kind of error message is easy to make people mistakenly think that there 
> is a problem with SQL itself, but SQL is actually correct.
>  
> suggestion:
> 1. Optimize the error message caused by this kind of null data to facilitate 
> the location of the problem
> 2. Don't throw ValidationException, consider throwing ExecException
>  
> The content below is the same as above and can be ignored
> ---------------------------------------------------------------------------------------------------------------
> 中文版Description
> 日期类型数据为NULL导致SQL校验失败原因为null
> 假如数据表中date类型的数值为空,在执行sql 
> query时,会发现异常org.apache.flink.table.api.ValidationException: SQL validation 
> failed. null
> 在cause by下发现了一个空指针异常,如下:
> !image-2021-12-31-14-03-47-795.png!
>  
> 深入排查后发现是数据表中date类型的数据为NULL,导致了上面的现象。
> 猜测是SQL执行过程中,hive-exec.jar遇到null无法处理,没有做好非空判断,导致了NullPointException。
> 该问题的关键是,出现这种数据错误的时候,不应该提示 SQL validation failed. null
> 这种报错提示很容易让人误以为SQL本身有问题,但SQL其实是正确的。
>  
> 建议:
> 1.优化这种null数据导致的错误提示,方便定位问题
> 2.不要抛出ValidationException,可以考虑抛出ExecException



--
This message was sent by Atlassian Jira
(v8.20.1#820001)

Reply via email to