-
Notifications
You must be signed in to change notification settings - Fork 104
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
crash on exit in as_cluster_tender (after libuv event loop is stopped) #149
Comments
Do you call aerospike_close() before calling aerospike_destroy()? aerospike_close() should perform a graceful shutdown of the cluster while aerospike_destroy() just frees cluster memory. aerospike_destroy() alone does not attempt to stop the cluster tend thread. |
Yes we do, this is what our cleanup looks like.
We changed the way we are closing our uv_loop, maybe this is our problem. |
Could it help to call as_event_set_external_loop( ... ); with a null pointer to tell that the loop is gone ... ? |
When are you closing the shared uv_loop? If you are sharing libuv event loops with the C client via as_event_set_external_loop() or as_set_external_event_loop(), then closing those event loops must come after as_event_close_loops(). |
Good point, we are calling uv_stop (loop) before our aero shutdown sequence. I think we need to reshuffle things. |
Before our event loop gets stopped. Any idea of what's going on ?
If feels like after calling as_event_close_loops the cluster_tend mechanic should stop (and that thread exit).
The text was updated successfully, but these errors were encountered: