You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@Letty5411 Hi, i have analysed the log you posted, the reason why your test case failed is the container exited immediately after run it.
create a containerd container have two part:
create a containerd container
run task
we have a hook to delete network endpoint and containerd container when the running container exit. so it will fail when use a deleted network sanbox to create a containerd task.
Today @HusterWan and I discussed about it offline, and we have drawn a picture of it:
And we found that in the test case of restart, here we have a scenario that when a have ran a container, we have no idea about when the container exits. If the container exits immediately, then container would trigger the hook in pouchd, and pouchd would execute the function markStoppendAndRelease. However, if the execution time is durationA, if in this duration, pouchd accepts another request to stop or start the container, some unexpected situation would happen.
markStoppendAndRelease would excute after exit of container and release the container IO and release the container endpoint or related network items. And we must guarantee the atomic of markStoppendAndRelease.
Ⅰ. Issue Description
Due to PR:#1307 upgrade/restart related integration tests fail.
Ⅱ. Describe what happened
The error message is similar, so I'll take
restart
cmd as example.Run the following script:
The error will happen when this two CMDs run quickly one after the other in script, it can't be reproduced manually.
Log of pouchd:
Ⅲ. Describe what you expected to happen
Ⅳ. How to reproduce it (as minimally and precisely as possible)
Ⅴ. Anything else we need to know?
Ⅵ. Environment:
pouch version
):uname -a
):The text was updated successfully, but these errors were encountered: