[all][requirements][monasca][gnocchi][kolla] ujson, not maintained for over 4 years, has compiler issues

Witek Bedyk witold.bedyk at suse.com
Wed Feb 5 09:17:18 UTC 2020


we're using ujson in Monasca for serialization all over the place. While 
changing it to any other alternative is probably a drop-in replacement, 
we have in the past chosen to use ujson because of better performance. 
It is of great importance, in particular in persister. Current 
alternatives include orjson [1] and rapidjson [2]. We're going to 
measure which of them works best for our use case and how much faster 
they are compared to standard library module.

Assuming there is a significant performance benefit, is there any 
preference from requirements team which one to include in global 
requirements? I haven't seen any distro packages for any of them.

[1] https://pypi.org/project/orjson/
[2] https://pypi.org/project/python-rapidjson/

Best greetings

On 1/31/20 9:34 AM, Radosław Piliszek wrote:
> This is a spinoff discussion of [1] to attract more people.
> As the subject goes, the situation of ujson is bad. Still, monasca and
> gnocchi (both server and client) seem to be using it which may break
> depending on compiler.
> The original issue is that the released version of ujson is in
> non-spec-conforming C which may break randomly based on used compiler
> and linker.
> There has been no release of ujson for more than 4 years.
> Based on general project activity, Monasca is probably able to fix it
> but Gnocchi not so surely...
> [1] http://lists.openstack.org/pipermail/openstack-discuss/2020-January/thread.html
> -yoctozepto

More information about the openstack-discuss mailing list