I am facing in a strange behavior using python api to access fdb. This is based on gunicorn which forks a worker process. I open the database from main then I try to uses it from forked process then it hangs.
I produced in a small script this behavior. I debugged and found that it stucks in semaphore.acquire() in fdb/impl.py in function block_until_ready.
Here is a buggy script that reproduces, any help is welcome. Thank you
import fdb fdb.api_version(630) from multiprocessing import Process db = fdb.open('/etc/local/foundationdb/fdb.cluster') db[b'u'] = b'v' print( db[b'u']) def f(name, db): #import pdb; pdb.set_trace() print('hello', name, db) db[b'z'] = b'w' print(db[b'z']) if __name__ == '__main__': p = Process(target=f, args=('bob',db)) p.start() p.join()