You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Greg Hogan (JIRA)" <ji...@apache.org> on 2017/02/03 18:50:51 UTC

[jira] [Updated] (FLINK-3685) Logical error in code for DateSerializer deserialize with reuse

     [ 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)