[ 
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]

Reply via email to