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/lc: advance head if the current entry doesn't exist #56486
Conversation
the one thing I notice is that the larger flow of try-advance-head; try-proceed, potentially-handle-shard-rollover is now duplicated in full, so it's quite a bit of duplicated code that should behave identically; I would not insist, but is it possible that we could write an inline function that incorporates that? |
yes even I was thinking about it but was sceptical to do this at end of the release. I guess we can cleanup the code in the upstream at least |
that seems reasonable, sure, @soumyakoduri |
5e06a92
to
ce1d002
Compare
I included inline functions. Please review. |
ce1d002
to
6870ee4
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks good!
This is extension to ceph#47595. When skipping the non-exist LC entry, instead of get_next_entry(), use advance_head() to fetch the next entry. In case the cycle is finished for that shard, head should be reset to avoid lc process being stuck in indefinite loop. Fixes: https://tracker.ceph.com/issues/65160 Signed-off-by: Soumya Koduri <skoduri@redhat.com>
Cleaning up duplicate code around updating head Signed-off-by: Soumya Koduri <skoduri@redhat.com>
6870ee4
to
e2b3a30
Compare
@yuvalif .. I see an abort in notifications test - http://qa-proxy.ceph.com/teuthology/soumyakoduri-2024-04-23_17:18:46-rgw-wip-skoduri-lc-stall-distro-default-smithi/7670058/teuthology.log Is this known issue? I think its not related to this change. Can you please confirm? |
jenkins test make check arm64 |
jenkins test api |
jenkins test windows |
|
@mattbenjamin @soumyakoduri there was a request for squid backport in https://tracker.ceph.com/issues/65160. should it go to reef/quincy also? cc @jzhu116-bloomberg |
Thanks Casey. I will backport it to squid. |
No need to backport to reef/quincy from our side |
up to you @soumyakoduri. feel free to close the quincy and reef trackers with Rejected |
This is an extension to #47595.
When skipping the non-exist LC entry, instead of get_next_entry(), use advance_head() to fetch the next entry. In case the cycle is finished for that shard, head should be reset to avoid lc process being stuck in indefinite loop.
Fixes: https://tracker.ceph.com/issues/65160
Signed-off-by: Soumya Koduri skoduri@redhat.com
Checklist
Show available Jenkins commands
jenkins retest this please
jenkins test classic perf
jenkins test crimson perf
jenkins test signed
jenkins test make check
jenkins test make check arm64
jenkins test submodules
jenkins test dashboard
jenkins test dashboard cephadm
jenkins test api
jenkins test docs
jenkins render docs
jenkins test ceph-volume all
jenkins test ceph-volume tox
jenkins test windows
jenkins test rook e2e