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
msg/simple: wait dispatch_queue until all pipes closed #9930
Conversation
If we don't stop the dispatch_queue until after all the pipes are closed...can't the DIspatcher try to re-open Connections in order to deliver message responses? |
@gregsfortytwo good comment, updated! |
Okay, this is probably good now. |
see
dropped from the test branch for now |
@yuyuyu101 @tchaikov I took it for testing as see lots of
in run http://pulpito.ceph.com/yuriw-2016-07-14_17:00:02-rados-wip-yuri-testing2_2016_7_14-distro-basic-smithi/ |
Now we use dispatch_queue.wait to wait for SimpleMessenger shutdown, but we need to ensure DispatchQueue can process event after Accepter down, Otherwise accepter may continue to accept new connection which may queue new item. so we can't rely on DispatchQueue now. Introduce stop_cond and stop flag to indicate this function like AsyncMessenger did Fixes: http://tracker.ceph.com/issues/16472 Signed-off-by: Haomai Wang <haomai@xsky.com>
retest this please |
Signed-off-by: Haomai Wang haomai@xsky.com