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

Greg Hogan updated FLINK-3685:
------------------------------
    Description: 
There is a logical error in the following function in DateSerializer.java when 
source read '-1'
function is:
{code}
public Date deserialize(Date reuse, DataInputView source) throws IOException {
        long v = source.readLong();
        if(v == -1L) {
                return null;
        }
        reuse.setTime(v);
        return reuse;
}
{code}
when call this function for first time, if return null, then 'reuse' will be 
set null by caller;
when call this function for second time,if 'v!=-1' ,reuse.setTime(v) will throw 
NPE.

  was:
There is a logical error in the following function in DateSerializer.java when 
source read '-1'
function is:
```
public Date deserialize(Date reuse, DataInputView source) throws IOException {
        long v = source.readLong();
        if(v == -1L) {
                return null;
        }
        reuse.setTime(v);
        return reuse;
}
```
when call this function for first time, if return null, then 'reuse' will be 
set null by caller;
when call this function for second time,if 'v!=-1' ,reuse.setTime(v) will throw 
NPE.


> Logical error in code for DateSerializer deserialize with reuse
> ---------------------------------------------------------------
>
>                 Key: FLINK-3685
>                 URL: https://issues.apache.org/jira/browse/FLINK-3685
>             Project: Flink
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 1.0.0
>            Reporter: ZhengBowen
>
> There is a logical error in the following function in DateSerializer.java 
> when source read '-1'
> function is:
> {code}
> public Date deserialize(Date reuse, DataInputView source) throws IOException {
>       long v = source.readLong();
>       if(v == -1L) {
>               return null;
>       }
>       reuse.setTime(v);
>       return reuse;
> }
> {code}
> when call this function for first time, if return null, then 'reuse' will be 
> set null by caller;
> when call this function for second time,if 'v!=-1' ,reuse.setTime(v) will 
> throw NPE.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to