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

rgw: clean up RGWShardedOmapCRManager on early return #11505

Merged
merged 1 commit into from
Oct 25, 2016

Conversation

cbodley
Copy link
Contributor

@cbodley cbodley commented Oct 14, 2016

ShardedOmapCRManager is spawning coroutines that sleep. if we don't
finish them before trying to drain_all(), they'll lead to deadlock

Fixes: http://tracker.ceph.com/issues/17571

ShardedOmapCRManager is spawning coroutines that sleep. if we don't
finish them before trying to drain_all(), they'll lead to deadlock

Fixes: http://tracker.ceph.com/issues/17571

Signed-off-by: Casey Bodley <cbodley@redhat.com>
@yehudasa
Copy link
Member

@cbodley lgtm, do we need to run specific tests on this one?

@cbodley
Copy link
Contributor Author

cbodley commented Oct 17, 2016

@yehudasa this one would be hard to reproduce in the absence of other bugs

i would (someday) love to hook up unit tests to each of these coroutines so we can get coverage of the error paths, but it'll take some work to be able to pass in mocks for each of the child crs they spawn. would you like me to try FetchAllMetaCR as a start?

@yehudasa
Copy link
Member

@cbodley sounds good

@cbodley
Copy link
Contributor Author

cbodley commented Oct 20, 2016

unit tests added as separate pr - they succeed when this fix is applied, and deadlock without

@yehudasa yehudasa merged commit 574f4fd into ceph:master Oct 25, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants