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

OVH/openstack stability enhancements #196

Open
wants to merge 3 commits into
base: main
Choose a base branch
from
Open

OVH/openstack stability enhancements #196

wants to merge 3 commits into from

Conversation

nicois
Copy link
Contributor

@nicois nicois commented Dec 8, 2024

OVH can sometimes return unexpected responses. Instead of suppressing these errors, allow them to bubble up; it is better to retry these operations at the higher level than pretend the operation was successful.

Additionally, record some metrics relating to the HTTP response codes. It is suspected that OVH issues 408 HTTP responses when scaling out, and these can interfere with legitimate response handling in some situations.

When requesting a list of files using the S3 protocol, a valid
response will always include a Contents key in the JSON-encoded body.

If this is not present, allow an exception to bubble up, instead of
pretending that the bucket/prefix is empty. It is preferable to raise
an exception than to pretend to have a valid response.
In some situations, inconsistent responses have been observed while
reading/iterating over files using the S3 protocol.

Record the HTTP status codes received during this operations as stats.
@nicois nicois changed the title Nicois/ovh patch OVH/openstack stability enhancements Dec 8, 2024
If a file's metadata is being requested and it cannot be found, this
is a real error. We should allow this exception to bubble up, rather
than masking it.
Some backends (e.g. minio) may provide a `KeyCount` value. If this
is present and zero, assume no records are present, and do not
look for the `Contents` list.
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.

1 participant