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

Donal Evans updated GEODE-9482:
-------------------------------
    Description: 
When using native Redis, commands that take integer arguments return {{"ERR 
value is not an integer or out of range"}} if the argument begins with "-0" or 
"+". The current implementation of these commands in Geode does not behave the 
same way.

The {{Coder.bytesToLong()}} method should be modified to check for the first 
two characters being "-0" or "+" and throw a {{NumberFormatException}} if that 
is the case. Alternately, if there are places where we want to preserve the 
existing behaviour of {{Coder.bytesToLong()}}, an additional 
{{bytesToLongStrict()}} method could be added to the {{Coder}} class with this 
additional check.

  was:
When using native Redis, commands that take integer arguments return {{"ERR 
value is not an integer or out of range"}} if the argument begins with "-0". 
The current implementation of these commands in Geode does not behave the same 
way.

The {{Coder.bytesToLong()}} method should be modified to check for the first 
two characters being "-0" and throw a {{NumberFormatException}} if that is the 
case. Alternately, if there are places where we want to preserve the existing 
behaviour of {{Coder.bytesToLong()}}, an additional {{bytesToLongStrict()}} 
method could be added to the {{Coder}} class with this additional check.


> Radish commands do not match Redis error behaviour for integer arguments 
> beginning "-0" and "+"
> -----------------------------------------------------------------------------------------------
>
>                 Key: GEODE-9482
>                 URL: https://issues.apache.org/jira/browse/GEODE-9482
>             Project: Geode
>          Issue Type: Bug
>          Components: redis
>    Affects Versions: 1.15.0
>            Reporter: Donal Evans
>            Priority: Major
>
> When using native Redis, commands that take integer arguments return {{"ERR 
> value is not an integer or out of range"}} if the argument begins with "-0" 
> or "+". The current implementation of these commands in Geode does not behave 
> the same way.
> The {{Coder.bytesToLong()}} method should be modified to check for the first 
> two characters being "-0" or "+" and throw a {{NumberFormatException}} if 
> that is the case. Alternately, if there are places where we want to preserve 
> the existing behaviour of {{Coder.bytesToLong()}}, an additional 
> {{bytesToLongStrict()}} method could be added to the {{Coder}} class with 
> this additional check.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to