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

Add ErrInvalidHandle and fix list stats #1276

Merged

Conversation

gabriel-samfira
Copy link
Contributor

@gabriel-samfira gabriel-samfira commented Jan 13, 2022

When querying the stats of a container that is in the process of beingstopped, an ERROR_INVALID_HANDLE (0x6) may be returned. This change ignores that error as part of isStatsNotFound().

This change also fixes the return values of Stats() when encountering one of the expected errors. Returning nil stats when error is nil will break caller assumptions of finding a valid value when error is nil. Instead, we now return an ErrNotFound.

Signed-off-by: Gabriel Adrian Samfira gsamfira@cloudbasesolutions.com

When querying the stats of a container that is in the process of being
stopped, an ERROR_INVALID_HANDLE (0x6) may be returned. This change
ignores that error and returns an empty stats object.

This change also fixes the return values of Stats() when encountering
one of the expected errors. Returning nil stats when error is nil will
break caller assumptions of finding a valid value when error is nil.
Instead, an ErrNotFound is returned.

Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
Copy link
Contributor

@dcantah dcantah left a comment

Choose a reason for hiding this comment

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

LGTM (assuming the CI passes 😆).

@jsturtevant
Copy link
Contributor

xref: kubernetes/kubernetes#106278

@dcantah dcantah merged commit 790bcae into microsoft:master Jan 13, 2022
dcantah pushed a commit to dcantah/hcsshim that referenced this pull request Jan 13, 2022
When querying the stats of a container that is in the process of being
stopped, an ERROR_INVALID_HANDLE (0x6) may be returned. This change
ignores that error and returns an empty stats object.

This change also fixes the return values of Stats() when encountering
one of the expected errors. Returning nil stats when error is nil will
break caller assumptions of finding a valid value when error is nil.
Instead, an ErrNotFound is returned.

Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
(cherry picked from commit 790bcae)
Signed-off-by: Daniel Canter <dcanter@microsoft.com>
dcantah added a commit that referenced this pull request Jan 13, 2022
When querying the stats of a container that is in the process of being
stopped, an ERROR_INVALID_HANDLE (0x6) may be returned. This change
ignores that error and returns an empty stats object.

This change also fixes the return values of Stats() when encountering
one of the expected errors. Returning nil stats when error is nil will
break caller assumptions of finding a valid value when error is nil.
Instead, an ErrNotFound is returned.

Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
(cherry picked from commit 790bcae)
Signed-off-by: Daniel Canter <dcanter@microsoft.com>
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.

None yet

4 participants