Skip to content
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/DispatchQueue: clear queue after wait() #20374

Merged
merged 1 commit into from Feb 21, 2018

Conversation

liewegas
Copy link
Member

@liewegas liewegas commented Feb 8, 2018

Throw out new items after worker thread is stopped. All over enqueue_* methods were checking for stop except for this one.

Fixes: http://tracker.ceph.com/issues/18351
Signed-off-by: Sage Weil sage@redhat.com

@gregsfortytwo
Copy link
Member

Hmm, how did that assert get in? Or is the use of a stop() to kill the daemon without processing messages new?

@liewegas
Copy link
Member Author

liewegas commented Feb 8, 2018 via email

The other queue_* methods check stop; enqueue() did not.

Fixes: http://tracker.ceph.com/issues/18351
Signed-off-by: Sage Weil <sage@redhat.com>
@liewegas
Copy link
Member Author

retest this please

@liewegas
Copy link
Member Author

@gregsfortytwo ok i found the real problem! much simpler than i thought before. this has held up fine over a weeks' work of rados runs and reruns.

Copy link
Member

@gregsfortytwo gregsfortytwo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reviewed-by: Greg Farnum gfarnum@redhat.com

@gregsfortytwo
Copy link
Member

Jenkins test this please

@gregsfortytwo gregsfortytwo merged commit 1c3e818 into ceph:master Feb 21, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants