Skip to content

2.27.0.0-b463

@arpit-saxena arpit-saxena tagged this 19 Aug 04:00
Summary:
Odyssey links Postgres libraries as well as some of its own libraries (Machinarium, Kiwi)
statically to produce the final executable. However, it links Postgres libs before it links
Machinarium. This causes the function `pg_srand48` to be picked from Postgres instead of from
Machinarium.

This leads to a data race since PG provided functions are not thread safe while their
implementations inside Machinarium are. This doesn't have that high of an impact but definitely
random number generation gets messed up.

To sort out this issue for now, we rename Machinarium provided functions so that they don't conflict
with PG functions. This is a temporary fix while we wait for a proper fix for this linking fiasco
from upstream
Jira: DB-17912

Test Plan: Jenkins: all tests

Reviewers: skumar, mkumar, asrinivasan, vikram.damle

Reviewed By: skumar, vikram.damle

Subscribers: yql

Differential Revision: https://phorge.dev.yugabyte.com/D46062
Assets 2
Loading