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

Marshall Schor updated UIMA-4743:
---------------------------------
    Description: 
(Found by code reading, needs test case) The code for handling long/dbl value 
modified cells while doing delta serialization appears to have a some 
copy/paste kinds of errors. The first (line 583) gets the modified addrs, but 
gets the "short" rather than "long" addrs.  The second (line 587) writes the 
address of the modified value using a writeShort, which silently fails if the 
value is > 32767. 

This same kind of error (writing the address as a short) also appears in the 
handling of modifications of shorts (line 570).

Fixing this will result in writing more bytes to the serialization stream, so 
the streams won't be "compatible".  Therefore, do some kind of incrementing of 
versions and serialVersionId values to signal to readers this format change.  
Updating this for client/server pairs will require updates at both ends. 

  was:
(Found by code reading, needs test case) The code for handling long/dbl value 
modified cells while doing delta serialization appears to have a some 
copy/paste kinds of errors. The first (line 583) gets the modified addrs, but 
gets the "short" rather than "long" addrs.  The second (line 587) writes the 
address of the modified value using a writeShort, which silently fails if the 
value is > 32767. 

This same kind of error (writing the address as a short) also appears in the 
handling of modifications of shorts (line 570).


> errors in plain binary cas delta serialization of long values
> -------------------------------------------------------------
>
>                 Key: UIMA-4743
>                 URL: https://issues.apache.org/jira/browse/UIMA-4743
>             Project: UIMA
>          Issue Type: Bug
>          Components: Core Java Framework
>    Affects Versions: 2.8.1SDK
>            Reporter: Marshall Schor
>             Fix For: 2.8.2SDK
>
>
> (Found by code reading, needs test case) The code for handling long/dbl value 
> modified cells while doing delta serialization appears to have a some 
> copy/paste kinds of errors. The first (line 583) gets the modified addrs, but 
> gets the "short" rather than "long" addrs.  The second (line 587) writes the 
> address of the modified value using a writeShort, which silently fails if the 
> value is > 32767. 
> This same kind of error (writing the address as a short) also appears in the 
> handling of modifications of shorts (line 570).
> Fixing this will result in writing more bytes to the serialization stream, so 
> the streams won't be "compatible".  Therefore, do some kind of incrementing 
> of versions and serialVersionId values to signal to readers this format 
> change.  Updating this for client/server pairs will require updates at both 
> ends. 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to