Jens Deppe created GEODE-8624:
---------------------------------

             Summary: Improve INCRBYFLOAT accuracy for very large values
                 Key: GEODE-8624
                 URL: https://issues.apache.org/jira/browse/GEODE-8624
             Project: Geode
          Issue Type: Improvement
          Components: redis
            Reporter: Jens Deppe


Currently native redis appears to be able to apply {{INCRBYFLOAT}} on values 
that are below the max of unsigned long long (18446744073709551615). However, 
since we're treating numbers as {{double}}s we can lose precision for very 
large values. For example:
{noformat}
set val 18446744073709551614
incrbyfloat val 1{noformat}
incorrectly returns {{18446744073709552000}}

Native redis produces a correct result.

We should consider switching to using {{BigInteger}} for all commands which 
perform calculations: {{INCR, INCR, INCRBYFLOAT, HINCRBY, HINCRBYFLOAT}}.



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

Reply via email to