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

Address shadowing divergence in reftest, update semantics doc #1201

Merged
merged 2 commits into from
Dec 17, 2024

Conversation

c-hagem
Copy link
Contributor

@c-hagem c-hagem commented Dec 12, 2024

This commit addresses a case where MP model and property tests diverge (#1066). The issue was caused by the reference not correctly implementing the shadowing order defined in #4f8cf0b. This commit fixes the reference model, and clarifies the semantics arising from concurrent MPUs.

This is not a breaking change, as it only impacts the reference tests.

This does not need a Changelog entry, as the change does not impact Mountpoint's behaviour.


By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license and I agree to the terms of the Developer Certificate of Origin (DCO).

@c-hagem c-hagem requested a deployment to PR integration tests December 12, 2024 16:05 — with GitHub Actions Waiting
@c-hagem c-hagem requested a deployment to PR integration tests December 12, 2024 16:05 — with GitHub Actions Waiting
@c-hagem c-hagem requested a deployment to PR integration tests December 12, 2024 16:05 — with GitHub Actions Waiting
@c-hagem c-hagem requested a deployment to PR integration tests December 12, 2024 16:05 — with GitHub Actions Waiting
@c-hagem c-hagem requested a deployment to PR integration tests December 12, 2024 16:05 — with GitHub Actions Waiting
@c-hagem c-hagem requested a deployment to PR integration tests December 12, 2024 16:05 — with GitHub Actions Waiting
@c-hagem c-hagem requested a deployment to PR integration tests December 12, 2024 16:05 — with GitHub Actions Waiting
@c-hagem c-hagem force-pushed the semantics-document-reftest-fix branch from b3d7045 to f405d75 Compare December 12, 2024 16:54
@c-hagem c-hagem temporarily deployed to PR integration tests December 12, 2024 16:54 — with GitHub Actions Inactive
@c-hagem c-hagem temporarily deployed to PR integration tests December 12, 2024 16:54 — with GitHub Actions Inactive
@c-hagem c-hagem temporarily deployed to PR integration tests December 12, 2024 16:54 — with GitHub Actions Inactive
@c-hagem c-hagem temporarily deployed to PR integration tests December 12, 2024 16:54 — with GitHub Actions Inactive
@c-hagem c-hagem temporarily deployed to PR integration tests December 12, 2024 16:54 — with GitHub Actions Inactive
@c-hagem c-hagem temporarily deployed to PR integration tests December 12, 2024 16:54 — with GitHub Actions Inactive
@c-hagem c-hagem temporarily deployed to PR integration tests December 12, 2024 16:54 — with GitHub Actions Inactive
@dannycjones dannycjones self-requested a review December 13, 2024 10:08
@dannycjones dannycjones changed the title Improve Semantics.md, fix error in reference causing proptest failure Address shadowing divergence in reftest, update semantics doc Dec 13, 2024
Copy link
Contributor

@dannycjones dannycjones left a comment

Choose a reason for hiding this comment

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

I think this is the right change and semantics, I've put some feedback on docs mainly

doc/SEMANTICS.md Outdated Show resolved Hide resolved
doc/SEMANTICS.md Outdated Show resolved Hide resolved
mountpoint-s3/tests/reftests/harness.rs Outdated Show resolved Hide resolved
mountpoint-s3/tests/reftests/reference.rs Outdated Show resolved Hide resolved
@dannycjones
Copy link
Contributor

This PR closes #1066.

This commit addresses a case where MP model and property tests diverge (awslabs#1066). The issue was caused by the reference not correctly implementing the shadowing order defined in [#4f8cf0b](awslabs@4f8cf0b). Additionally, it clarifies the Semantics arising from concurrent MPUs.

Signed-off-by: Christian Hagemeier <[email protected]>
@c-hagem c-hagem force-pushed the semantics-document-reftest-fix branch from f405d75 to c5f1469 Compare December 13, 2024 14:38
@c-hagem c-hagem requested a deployment to PR integration tests December 13, 2024 14:38 — with GitHub Actions Waiting
@c-hagem c-hagem requested a deployment to PR integration tests December 13, 2024 14:38 — with GitHub Actions Waiting
@c-hagem c-hagem requested a deployment to PR integration tests December 13, 2024 14:38 — with GitHub Actions Waiting
@c-hagem c-hagem requested a deployment to PR integration tests December 13, 2024 14:38 — with GitHub Actions Waiting
@c-hagem c-hagem requested a deployment to PR integration tests December 13, 2024 14:38 — with GitHub Actions Waiting
@c-hagem c-hagem requested a deployment to PR integration tests December 13, 2024 14:38 — with GitHub Actions Waiting
@c-hagem c-hagem requested a deployment to PR integration tests December 13, 2024 14:38 — with GitHub Actions Waiting
doc/SEMANTICS.md Outdated
@@ -74,7 +74,7 @@ Mountpoint allows multiple readers to access the same object at the same time.
However, a new file can only be written to sequentially and by one writer at a time.
New files that are being written are not available for reading until the writing application closes the file and Mountpoint finishes uploading it to S3.
If you have multiple Mountpoint mounts for the same bucket, on the same or different hosts, there is no coordination between writes to the same object.
Your application should not write to the same object from multiple instances at the same time.
Your application should not write to the same object from multiple instances at the same time. If you use multiple instances for writing the same key (or another client modifies the Object while the file is open for writing), be aware that Mountpoint currently uses Multipart Uploads (MPU) that are created after the file is opened to upload the data to S3.
Copy link
Contributor

Choose a reason for hiding this comment

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

Why does Mountpoint using MPU matter? What are the consequences you might need to be aware of?

doc/SEMANTICS.md Outdated Show resolved Hide resolved
doc/SEMANTICS.md Outdated Show resolved Hide resolved
Remove comments unrelated to shadowing.

Signed-off-by: Christian Hagemeier <[email protected]>
@c-hagem c-hagem temporarily deployed to PR integration tests December 17, 2024 13:14 — with GitHub Actions Inactive
@c-hagem c-hagem temporarily deployed to PR integration tests December 17, 2024 13:14 — with GitHub Actions Inactive
@c-hagem c-hagem temporarily deployed to PR integration tests December 17, 2024 13:14 — with GitHub Actions Inactive
@c-hagem c-hagem temporarily deployed to PR integration tests December 17, 2024 13:14 — with GitHub Actions Inactive
@c-hagem c-hagem temporarily deployed to PR integration tests December 17, 2024 13:14 — with GitHub Actions Inactive
@c-hagem c-hagem temporarily deployed to PR integration tests December 17, 2024 13:14 — with GitHub Actions Inactive
@c-hagem c-hagem temporarily deployed to PR integration tests December 17, 2024 13:14 — with GitHub Actions Inactive
Copy link
Contributor

@dannycjones dannycjones left a comment

Choose a reason for hiding this comment

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

LGTM! Thanks for these improvements, Christian!

@c-hagem c-hagem added this pull request to the merge queue Dec 17, 2024
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Dec 17, 2024
@c-hagem c-hagem added this pull request to the merge queue Dec 17, 2024
Merged via the queue into awslabs:main with commit 631e6e0 Dec 17, 2024
23 checks passed
@c-hagem c-hagem deleted the semantics-document-reftest-fix branch December 17, 2024 16:06
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.

3 participants