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