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