-
Notifications
You must be signed in to change notification settings - Fork 588
HDDS-8424. Restore legacy bucket behavior for directory objects. #4576
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
Conversation
|
cc @SaketaChalamchala @tanvipenumudy @mladjan-gadzic please take a look. |
|
This is similar to the issue filed for FSO buckets #4448 |
|
@kerneltime there are multiple test failures, please check |
|
@kerneltime Tests are still failing. Please only mark as ready when tests in your fork are successful to avoid wasting CI resources. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is it right to put the check here? I think it's an S3 logic. OM always returns key requests, and it's up to the clients (S3 or OFS) to determine how the result is intercepted.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, that is true, but the intention here is not to change the behavior of LEGACY buckets. I considered doing it only in S3G, but there are 2 issues there, it (keeps the regression) changes the behavior of LEGACY without documenting and communicating it widely. Secondly, detecting directory objects is much more involved at the S3G level.
There need to be more work as part of the OBS and FSO bucket evolution to address these issues. For now, let's keep LEGACY the way it was.
Change-Id: Ic67b7751ba8b60261892bbcbf7e845c3c7c490ad
duongkame
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1, LGTM.
* master: (440 commits) HDDS-8445. Move PlacementPolicy back to SCM (apache#4588) HDDS-8335. ReplicationManager: EC Mis and Under replication handlers should handle overloaded exceptions (apache#4593) HDDS-8355. Intermittent failure in TestOMRatisSnapshots#testInstallSnapshot (apache#4592) HDDS-8444. Increase timeout of CI build (apache#4586) HDDS-8446. Selective checks: handle change in ci.yaml (apache#4587) HDDS-8440. Ozone Manager crashed with ClassCastException when deleting FSO bucket. (apache#4582) HDDS-7309. Enable by default GRPC between S3G and OM (apache#3820) HDDS-8458. Mark TestBlockDeletion#testBlockDeletion as flaky HDDS-8385. Ozone can't process snapshot when service UID > 2097151 (apache#4580) HDDS-8424: Preserve legacy bucket getKeyInfo behavior (apache#4576) HDDS-8453. Mark TestDirectoryDeletingServiceWithFSO#testDirDeletedTableCleanUpForSnapshot as flaky HDDS-8137. [Snapshot] SnapDiff to use tombstone entries in SST files (apache#4376) HDDS-8270. Measure checkAccess latency for Ozone objects (apache#4467) HDDS-8109. Seperate Ratis and EC MisReplication Handling (apache#4577) HDDS-8429. Checkpoint is not closed properly in OMDBCheckpointServlet (apache#4575) HDDS-8253. Set ozone.metadata.dirs to temporary dir if not defined in S3 Gateway (apache#4455) HDDS-8400. Expose rocksdb last sequence number through metrics (apache#4557) HDDS-8333. ReplicationManager: Allow partial EC reconstruction if insufficient nodes available (apache#4579) HDDS-8147. Introduce latency metrics for S3 Gateway operations (apache#4383) HDDS-7908. Support OM Metadata operation Generator in `Ozone freon` (apache#4251) ...
What changes were proposed in this pull request?
Legacy buckets returned 404 for HEAD request via S3G for paths (which equates to directory objects if filesystem paths are enabled).
This restores the behavior
What is the link to the Apache JIRA
http://issues.apache.org/jira/browse/HDDS-8424
How was this patch tested?
Tested manually, upstream code does not default filesystem paths to be enabled. Will create a separate set of tests for legacy buckets in a separate jira.