[
https://issues.apache.org/jira/browse/HDDS-16591?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18123302#comment-18123302
]
Gargi Jaiswal edited comment on HDDS-16591 at 10/5/26 9:22 AM:
---------------------------------------------------------------
Hi [~fmorgan] [~adoroszlai] [~peterxcli] ,
Since the Oct 1 nightly, the S3 compatibility score at [compatbility dashboard
|https://ozone.s3.peterxcli.dev/#search-section]has dropped from ~37% to ~0.4%.
It looks like HDDS-16591 (#11313) caused it.
Root cause: {{BucketOperationNotImplementedHandler}} now rejects {{GET
?versions}} ({{{}ListObjectVersions{}}}) with {{{}501 NotImplemented{}}}. The
ceph s3-tests suite calls {{list_object_versions}} in its bucket cleanup code
({{{}teardown{}}} → {{nuke_prefixed_buckets}} → {{nuke_bucket}} →
{{{}list_versions{}}}), which runs before and after almost every test. Cleanup
fails, so nearly every test errors out in setup or teardown, whatever feature
it covers.
Evidence from the Oct 1 run:
* Results: {{{}21 failed, 5 passed, 4 skipped, 765 errors{}}}.
* All 1,530 errors are {{{}NotImplemented when calling the ListObjectVersions
operation{}}}.
* The PR merged at 06:55 UTC on Oct 1, and the nightly ran at 08:53 UTC, so
this was the first run with the change.
* The run took ~26 min instead of ~53 min because tests fail almost
immediately.
Before this PR, {{?versions}} fell through to {{ListObjects}} and returned a
{{{}ListBucketResult{}}}. That wasn't correct S3 behaviour, but boto3 read it
as an empty version list, so cleanup worked.
Can we please look into this?
was (Author: JIRAUSER308350):
Hi [~fmorgan] [~adoroszlai] [~peterxcli] ,
Since the Oct 1 nightly, the S3 compatibility score at [compatbility
dashboard|https://ozone.s3.peterxcli.dev/#search-section]has dropped from ~37%
to ~0.4%. It looks like HDDS-16591 (#11313) caused it.
Root cause: {{BucketOperationNotImplementedHandler}} now rejects {{GET
?versions}} ({{{}ListObjectVersions{}}}) with {{{}501 NotImplemented{}}}. The
ceph s3-tests suite calls {{list_object_versions}} in its bucket cleanup code
({{{}teardown{}}} → {{nuke_prefixed_buckets}} → {{nuke_bucket}} →
{{{}list_versions{}}}), which runs before and after almost every test. Cleanup
fails, so nearly every test errors out in setup or teardown, whatever feature
it covers.
Evidence from the Oct 1 run:
* Results: {{{}21 failed, 5 passed, 4 skipped, 765 errors{}}}.
* All 1,530 errors are {{{}NotImplemented when calling the ListObjectVersions
operation{}}}.
* The PR merged at 06:55 UTC on Oct 1, and the nightly ran at 08:53 UTC, so
this was the first run with the change.
* The run took ~26 min instead of ~53 min because tests fail almost
immediately.
Before this PR, {{?versions}} fell through to {{ListObjects}} and returned a
{{{}ListBucketResult{}}}. That wasn't correct S3 behaviour, but boto3 read it
as an empty version list, so cleanup worked.
Can we please look into this?
> Reject not implemented S3 subresource APIs
> ------------------------------------------
>
> Key: HDDS-16591
> URL: https://issues.apache.org/jira/browse/HDDS-16591
> Project: Apache Ozone
> Issue Type: Improvement
> Reporter: Fabian Morgan
> Assignee: Fabian Morgan
> Priority: Major
> Labels: pull-request-available
> Fix For: 2.3.0
>
>
> The S3 handlers have a pattern where if a particular selector is not
> implemented, it falls through to the plain handler. For example,
> GetObjectAcl is not implemented so "?acl" requests fall to GetObject and this
> results in an Internal Server Error 500 after several retries. Because this
> affects S3 it affects STS requests as well. This ticket updates to enumerate
> the selectors for apis (except for POST method) so that if an api is not
> implemented, it immediately returns with a 501 NotImplemented error code.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]