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

librados: implement async watch/unwatch #7649

Merged
merged 11 commits into from Feb 24, 2016
Merged

Conversation

yuyuyu101
Copy link
Member

No description provided.

@yuyuyu101
Copy link
Member Author

done

@yuyuyu101
Copy link
Member Author

retest this please

@dillaman
Copy link

@yuyuyu101 Can you also add an async version of Rados::watch_flush?

@yuyuyu101
Copy link
Member Author

@dillaman sure

@yuyuyu101 yuyuyu101 force-pushed the wip-async-watch branch 3 times, most recently from e149680 to 5ec9015 Compare February 19, 2016 04:14
@dillaman dillaman self-assigned this Feb 19, 2016
Signed-off-by: Haomai Wang <haomai@xsky.com>
Signed-off-by: Haomai Wang <haomai@xsky.com>
Signed-off-by: Haomai Wang <haomai@xsky.com>
Signed-off-by: Haomai Wang <haomai@xsky.com>
Signed-off-by: Haomai Wang <haomai@xsky.com>
Signed-off-by: Haomai Wang <haomai@xsky.com>
@yuyuyu101
Copy link
Member Author

@dillaman done

Signed-off-by: Haomai Wang <haomai@xsky.com>
Signed-off-by: Haomai Wang <haomai@xsky.com>

rados_completion_t comp;
ASSERT_EQ(0, rados_aio_create_completion(NULL, NULL, NULL, &comp));
rados_async_watch_flush(cluster, comp);

Choose a reason for hiding this comment

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

Doesn't build -- should be rados_aio_watch_flush

Signed-off-by: Haomai Wang <haomai@xsky.com>
@yuyuyu101
Copy link
Member Author

done

@dillaman
Copy link

I had this branch merged into wip-jd-testing for a teuthology run: http://pulpito.ceph.com/jdillaman-2016-02-22_09:18:56-rbd-wip-jd-testing---basic-multi/

It appears all clients are locking up on the sync watch_flush call:

[ubuntu@smithi001 ~]$ ceph osd crush tunables default
2016-02-22 17:47:58.631634 7efcce041700 1 librados: starting msgr at :/0
2016-02-22 17:47:58.631645 7efcce041700 1 librados: starting objecter
2016-02-22 17:47:58.631919 7efcce041700 1 librados: setting wanted keys
2016-02-22 17:47:58.631923 7efcce041700 1 librados: calling monclient init
2016-02-22 17:47:58.635064 7efcce041700 1 librados: init done
adjusted tunables profile to default
2016-02-22 17:47:58.919154 7efcce041700 10 librados: watch_flush enter

I assume it is because the finisher was already stopped on shut down prior to invoking watch_flush.

@yuyuyu101
Copy link
Member Author

@dillaman I agree with your point. But I don't find anywhere we call watch_flush after objecter shutdown

@yuyuyu101
Copy link
Member Author

oh, sorry. I got it

@yuyuyu101
Copy link
Member Author

done

Signed-off-by: Haomai Wang <haomai@xsky.com>
@yuyuyu101
Copy link
Member Author

done

dillaman pushed a commit that referenced this pull request Feb 24, 2016
librados: implement async watch/unwatch

Reviewed-by: Jason Dillaman <dillaman@redhat.com>
@dillaman dillaman merged commit dc5a905 into ceph:master Feb 24, 2016
@yuyuyu101 yuyuyu101 deleted the wip-async-watch branch February 24, 2016 05:14
@yuyuyu101 yuyuyu101 restored the wip-async-watch branch February 24, 2016 09:29
@yuyuyu101 yuyuyu101 deleted the wip-async-watch branch February 24, 2016 13:36
athanatos added a commit to athanatos/ceph that referenced this pull request Feb 26, 2016
This reverts commit dc5a905, reversing
changes made to 0b56c5e.

Conflicts:
	src/librados/IoCtxImpl.cc
	src/osdc/Objecter.cc
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants