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

HDDS-7594. [FSO] Folders created through S3G are created on file system as "files". #4186

Merged
merged 7 commits into from
Feb 14, 2023

Conversation

mladjan-gadzic
Copy link
Contributor

What changes were proposed in this pull request?

Instead of creating 0 byte file, directory is going to be created.

What is the link to the Apache JIRA

https://issues.apache.org/jira/browse/HDDS-7594

How was this patch tested?

  • unit tests
  • manual tests

@kerneltime kerneltime self-requested a review January 23, 2023 17:08
@kerneltime
Copy link
Contributor

@duongkame @swamirishi can you please take a look at this PR?

Copy link
Contributor

@errose28 errose28 left a comment

Choose a reason for hiding this comment

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

Thanks for working on this @mladjan-gadzic

@mladjan-gadzic
Copy link
Contributor Author

@errose28 thank you for the review!

@neils-dev neils-dev added the gr label Jan 26, 2023
@mladjan-gadzic mladjan-gadzic requested review from errose28 and removed request for kerneltime February 2, 2023 17:24
@mladjan-gadzic
Copy link
Contributor Author

@errose28 I've addressed all the comments. Could you please rereview it?

Copy link
Contributor

@errose28 errose28 left a comment

Choose a reason for hiding this comment

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

Thanks for the updates @mladjan-gadzic I left some minor comments in line.

@mladjan-gadzic
Copy link
Contributor Author

mladjan-gadzic commented Feb 6, 2023

@errose28 thank you for re-review!

Copy link
Contributor

@errose28 errose28 left a comment

Choose a reason for hiding this comment

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

Thanks for the updates @mladjan-gadzic. Changes LGTM but can you investigate the Copy Object acceptance tests? The failures may be related.

@mladjan-gadzic
Copy link
Contributor Author

Thanks for the updates @mladjan-gadzic. Changes LGTM but can you investigate the Copy Object acceptance tests? The failures may be related.

I've checked that already. CI passed on the remote but failed on the upstream. I'd say we are on the safe side.

@errose28
Copy link
Contributor

errose28 commented Feb 9, 2023

@mladjan-gadzic The same tests have failed twice in a row here. Each run is actually running the same test as part of unsecure and HA so that's 4 total failures of the same test:
https://github.com/apache/ozone/actions/runs/4103607438/attempts/1
https://github.com/apache/ozone/actions/runs/4103607438/attempts/4
I do see it has passed on your fork though.

Can you check the logs once the artifacts for the latest run becomes available to try to root cause the failure so we will know whether it is related or not? Unfortunately I can't merge this with the same test failing consistently on the PR branch.

@mladjan-gadzic
Copy link
Contributor Author

@errose28 I will check it further. What is a mystery to me right now is that the same tests passed for acceptance (secure) but failed for acceptance (unsecure) and acceptance (HA). What is also interesting is that for one commit before the latest CI was green but it is red for refactor changes on latest one.

@neils-dev
Copy link
Contributor

What is a mystery to me right now is that the same tests passed for acceptance (secure) but failed for acceptance (unsecure) and acceptance (HA).

Each acceptance test grouping kind, be it secured, unsecured or HA, run a different set of s3 acceptance tests. Because of this, the failing s3 copy-object tests are occuring for some reason in the unsecured and HA s3 test suites with the source bucket for the copy either an EC bucket (unsecure) or a random bucket (HA).

The passing s3 copy-object tests for the secure cluster are using encrypted, link or generated buckets, however these are not tested in the failing unsecure s3 acceptance test suite since it fails on erasure coded buckets. Interested to find the source of the problem here.

getClientProtocol()
.createDirectory(volume.getName(), bucketName, keyPath);
return Response.ok().status(HttpStatus.SC_OK).build();
}
Copy link
Contributor

Choose a reason for hiding this comment

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

Thank @mladjan-gadzic . Minor change. This added block above checking the length, FSO layout and handling the fso directory create (L203-213), should be placed after the block below handling the copy header and CopyObject L217-226. After re-run the CI workflow.

Copy link
Contributor

@neils-dev neils-dev left a comment

Choose a reason for hiding this comment

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

Thanks @mladjan-gadzic , ran the CI again after your green CI and saw all tests passed.

@mladjan-gadzic
Copy link
Contributor Author

Thank you @neils-dev for suggestions, review and re-running CI!

@neils-dev
Copy link
Contributor

@errose28 any further comments? Going to merge. Thanks.

Copy link
Contributor

@errose28 errose28 left a comment

Choose a reason for hiding this comment

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

Thanks for helping debug the failures @neils-dev and for working on the change @mladjan-gadzic

@errose28 errose28 merged commit 491791c into apache:master Feb 14, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
4 participants