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

Ensure that container still exists when removing #10476

Merged

Conversation

mheon
Copy link
Member

@mheon mheon commented May 26, 2021

After #8906, there is a potential race condition in container removal of running containers with --rm. Running containers must first be stopped, which was changed to unlock the container to allow commands like podman ps to continue to run while stopping; however, this also means that the cleanup process can potentially run before we re-lock, and remove the container from under us, resulting in error messages from podman rm. The end result is unchanged, the container is still cleanly removed, but the podman rm command will seem to have failed.

Work around this by pinging the database after we stop the container to make sure it still exists. If it doesn't, our job is done and we can exit cleanly.

[NO TESTS NEEDED] because the race doesn't trigger easily and I can't make a test to reproduce it on demand anywhere.

@openshift-ci
Copy link
Contributor

openshift-ci bot commented May 26, 2021

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: mheon

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci openshift-ci bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label May 26, 2021
@rhatdan
Copy link
Member

rhatdan commented May 26, 2021

Is this to fix THE race?
LGTM

@mheon
Copy link
Member Author

mheon commented May 26, 2021

Nope. Separate BZ, unfortunately.

Would not be surprised if it fixes some races in CI, though.

After containers#8906, there is a potential race condition in container
removal of running containers with `--rm`. Running containers
must first be stopped, which was changed to unlock the container
to allow commands like `podman ps` to continue to run while
stopping; however, this also means that the cleanup process can
potentially run before we re-lock, and remove the container from
under us, resulting in error messages from `podman rm`. The end
result is unchanged, the container is still cleanly removed, but
the `podman rm` command will seem to have failed.

Work around this by pinging the database after we stop the
container to make sure it still exists. If it doesn't, our job is
done and we can exit cleanly.

Signed-off-by: Matthew Heon <[email protected]>
@mheon mheon force-pushed the ensure_exists_on_remove branch from 9a8d9ca to fad6e1d Compare May 26, 2021 19:33
@TomSweeneyRedHat
Copy link
Member

FWIW, addresses https://bugzilla.redhat.com/show_bug.cgi?id=1964852
LGTM

@rhatdan
Copy link
Member

rhatdan commented May 26, 2021

/lgtm
/hold

@openshift-ci openshift-ci bot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label May 26, 2021
@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label May 26, 2021
Copy link
Member

@vrothberg vrothberg left a comment

Choose a reason for hiding this comment

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

/hold cancel

LGTM

@openshift-ci openshift-ci bot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label May 27, 2021
@openshift-merge-robot openshift-merge-robot merged commit 542d730 into containers:master May 27, 2021
@github-actions github-actions bot added the locked - please file new issue/PR Assist humans wanting to comment on an old issue or PR with locked comments. label Sep 23, 2023
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Sep 23, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. lgtm Indicates that a PR is ready to be merged. locked - please file new issue/PR Assist humans wanting to comment on an old issue or PR with locked comments.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants