Skip to content

linux/prox: timeout fifo creation#2229

Merged
stevvooe merged 1 commit intocontainerd:masterfrom
stevvooe:timeout-fifo-creation
Mar 26, 2018
Merged

linux/prox: timeout fifo creation#2229
stevvooe merged 1 commit intocontainerd:masterfrom
stevvooe:timeout-fifo-creation

Conversation

@stevvooe
Copy link
Copy Markdown
Member

@stevvooe stevvooe commented Mar 23, 2018

Under certain conditions in the client, the fifo for a container may not
be created. A timeout has been added to this operation to ensure the
shim can recover when the client fails to open the fifos.

Signed-off-by: Stephen J Day [email protected]

Possible fix for moby/moby#36661.

@stevvooe stevvooe changed the title linux/prox: timeout fifo creation [WIP] linux/prox: timeout fifo creation Mar 23, 2018
@stevvooe
Copy link
Copy Markdown
Member Author

Please comment on the solution here. We have this in the 0.2.x branch but I don't think it is a complete solution to the FIFO lock problem.

containerd/ttrpc#3 may help here, but is really unclear why the client is abandonding these fifos.

Comment thread linux/proc/exec.go Outdated
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Value was chosen from 0.2.x branch. We may want to have something much shorter to mitigate the responsiveness problems.

Under certain conditions in the client, the fifo for a container may not
be created. A timeout has been added to this operation to ensure the
shim can recover when the client fails to open the fifos.

Signed-off-by: Stephen J Day <[email protected]>
@stevvooe stevvooe force-pushed the timeout-fifo-creation branch from 29d79b5 to 9754696 Compare March 23, 2018 21:53
@codecov-io
Copy link
Copy Markdown

Codecov Report

Merging #2229 into master will not change coverage.
The diff coverage is n/a.

Impacted file tree graph

@@           Coverage Diff           @@
##           master    #2229   +/-   ##
=======================================
  Coverage   41.04%   41.04%           
=======================================
  Files          66       66           
  Lines        7753     7753           
=======================================
  Hits         3182     3182           
  Misses       4069     4069           
  Partials      502      502
Flag Coverage Δ
#windows 41.04% <ø> (ø) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 8a7e17e...9754696. Read the comment docs.

@mlaventure
Copy link
Copy Markdown
Contributor

Opening for write will block if the other side never open it for read (or if the process dies after opening it but before the shim had the time to open it on its side for write).

The issue is that it's hard to get a universal timeout as the load of the machine affects how long it could take.

This LGTM.

@stevvooe stevvooe changed the title [WIP] linux/prox: timeout fifo creation linux/prox: timeout fifo creation Mar 26, 2018
@dmcgowan
Copy link
Copy Markdown
Member

LGTM

@stevvooe stevvooe merged commit 2aa2aec into containerd:master Mar 26, 2018
@stevvooe stevvooe deleted the timeout-fifo-creation branch March 26, 2018 19:37
dmcgowan referenced this pull request Mar 26, 2018
[release/1.0] linux/prox: timeout fifo creation
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants