Not all binding implementations follow the requirements of fdb_stop_network
- Dominant language
- C++
- Stars
- 16.7k
- Forks
- 1.6k
- Avg merge
- 1d 20h
- Merged PRs (30d)
- 126
Description
In the current C API, it is required that `fdb_stop_network` be called and the network thread allowed to complete before terminating the program. It seems we aren't doing this in all of our bindings, and absent a change to this requirement as proposed in #2978, this can lead to undefined behavior.
It looks like the current state of our in-tree bindings are that:
* Ruby and Python follow the requirements of the API (stop then join)
* Java stops the network thread but doesn't join it
* Go doesn't stop the network thread automatically or provide any API to do it manually as far as I can tell
If #2978 is done, then this won't be an issue. However, I suspect that solving this problem is easier than the other one, so it may be worth updating the two bindings in the meantime.
Contributor guide
Assessment
This issue has not been assessed yet.