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

Joseph Wu updated MESOS-3449:
-----------------------------
    Description: 
The previous changes (MESOS-3345) to support integer precision when converting 
JSON <-> Protobuf did not support precision for unsigned integers between 
{{INT64_MAX}} and {{UINT64_MAX}}.  (There's some loss, but the conversion is 
still as good/bad as it was with doubles.)

This problem is due to a limitation in the JSON parsing library we use 
(PicoJson), which parses integers as {{int64_t}}.

Some possible solutions or things to investigate:
* We can patch PicoJSON to parse some large values as {{uint64_t}}.
* We can investigate using another parsing library.
* If we want extra precision beyond 64 or 80 bits per double, one possibility 
is the [GMP library|https://gmplib.org/].  We'd still need to change the 
parsing library though.

  was:
The previous changes to support integer precision when converting JSON <-> 
Protobuf did not support precision for unsigned integers between {{INT64_MAX}} 
and {{UINT64_MAX}}.  (There's some loss, but the conversion is still as 
good/bad as it was with doubles.)

This problem is due to a limitation in the JSON parsing library we use 
(PicoJson), which parses integers as {{int64_t}}.

Some possible solutions or things to investigate:
* We can patch PicoJSON to parse some large values as {{uint64_t}}.
* We can investigate using another parsing library.
* If we want extra precision beyond 64 or 80 bits per double, one possibility 
is the [GMP library|https://gmplib.org/].  We'd still need to change the 
parsing library though.


> Expand the range of integer precision in json <-> protobuf conversions to 
> include unsigned integers
> ---------------------------------------------------------------------------------------------------
>
>                 Key: MESOS-3449
>                 URL: https://issues.apache.org/jira/browse/MESOS-3449
>             Project: Mesos
>          Issue Type: Improvement
>          Components: stout
>    Affects Versions: 0.25.0
>            Reporter: Joseph Wu
>            Assignee: Joseph Wu
>            Priority: Minor
>              Labels: json, mesosphere, protobuf
>
> The previous changes (MESOS-3345) to support integer precision when 
> converting JSON <-> Protobuf did not support precision for unsigned integers 
> between {{INT64_MAX}} and {{UINT64_MAX}}.  (There's some loss, but the 
> conversion is still as good/bad as it was with doubles.)
> This problem is due to a limitation in the JSON parsing library we use 
> (PicoJson), which parses integers as {{int64_t}}.
> Some possible solutions or things to investigate:
> * We can patch PicoJSON to parse some large values as {{uint64_t}}.
> * We can investigate using another parsing library.
> * If we want extra precision beyond 64 or 80 bits per double, one possibility 
> is the [GMP library|https://gmplib.org/].  We'd still need to change the 
> parsing library though.



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

Reply via email to