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

quincy: rbd-mirror: fix race preventing local image deletion #52626

Merged
merged 1 commit into from Sep 29, 2023

Conversation

nbalacha
Copy link
Contributor

backport tracker: https://tracker.ceph.com/issues/62112


backport of #52057
parent tracker: https://tracker.ceph.com/issues/61672

this backport was staged using ceph-backport.sh version 16.0.0.6848
find the latest version at https://github.com/ceph/ceph/blob/main/src/script/ceph-backport.sh

On primary image deletion, a race between InstanceReplayer::release_image()
(which calls ImageReplayer::stop())and ImageReplayer::handle_bootstrap()
may prevent the non-primary image from being deleted. Because
ImageReplayer::handle_bootstrap() checks if the start has been canceled
before processing -ENOLINK, m_delete_requested is not set to true and the
local image is not deleted.
This commit sets m_delete_requested to true before checking if the
start has been canceled to ensure that the image is deleted during shut_down,
and updates ImageReplayer::bootstrap() to cancel the BootstrapRequest
and prevent a potentially long time spent in an image sync if ImageReplayer
stop is requested.

Fixes:  https://tracker.ceph.com/issues/61672

Signed-off-by: N Balachandran <nibalach@redhat.com>
(cherry picked from commit 1df7921)
@nbalacha nbalacha requested a review from a team as a code owner July 25, 2023 12:24
@nbalacha nbalacha added this to the quincy milestone Jul 25, 2023
@nbalacha nbalacha added the rbd label Jul 25, 2023
@github-actions github-actions bot added the tests label Jul 25, 2023
@idryomov
Copy link
Contributor

Build blocked on https://tracker.ceph.com/issues/62097.

@idryomov
Copy link
Contributor

jenkins test make check

@idryomov
Copy link
Contributor

jenkins test api

@idryomov
Copy link
Contributor

jenkins test make check

@idryomov
Copy link
Contributor

make check failure is unrelated, seen in other quincy PRs too:

ERROR: Cannot install -r requirements.txt (line 3), kubernetes and urllib3==1.26.15 because these package versions have conflicting dependencies.

The conflict is caused by:
    The user requested urllib3==1.26.15
    kubernetes 11.0.0 depends on urllib3>=1.24.2
    google-auth 2.23.1 depends on urllib3>=2.0.5

To fix this you could try to:
1. loosen the range of package versions you've specified
2. remove package versions to allow pip attempt to solve the dependency conflict

ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts

...

The following tests FAILED:
	  2 - setup-venv-for-mgr (Failed)
	  4 - run-tox-mgr (Not Run)
Errors while running CTest

@idryomov
Copy link
Contributor

@ljflores It looks you were the one who pinned urllib3 to 1.26.15 in #51298. Could you please take a look?

@nizamial09 Any idea where google-auth dependency is coming from and why this issue isn't hit in main or reef?

@nizamial09
Copy link
Member

nizamial09 commented Sep 28, 2023

Any idea where google-auth dependency is coming from and why this issue isn't hit in main or reef?

google-auth is coming from the kubernetes package. And they are not pinning it to a certain version google-auth>=1.0.1. it had a release yesterday where they might have upgraded the urllib which could be causing the dependency issues. Maybe this is not happening in main and reef because of https://github.com/ceph/ceph/pull/52544/files which uses the new pip dep resolver, so probably backport to quincy might fix it?

@nizamial09
Copy link
Member

#53706.

i'll be on vacation from today onwards, so it might be good if someone kept an eye on the PR.

@idryomov
Copy link
Contributor

jenkins test make check

@idryomov
Copy link
Contributor

Maybe this is not happening in main and reef because of https://github.com/ceph/ceph/pull/52544/files which uses the new pip dep resolver, so probably backport to quincy might fix it?

Yup, that was it, thanks @nizamial09!

@yuriw yuriw merged commit d07058c into ceph:quincy Sep 29, 2023
11 checks passed
@ljflores
Copy link
Contributor

ljflores commented Oct 5, 2023

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
6 participants