Comments (5)
Thanks for the details on this, @jchorl. We'll look into this soon.
Quickly linking to another comment we saw a similar symptom in another issue: #706 (comment)
from mountpoint-s3.
Thanks again for the details on this report.
We're working on a fix for this and hope to share more details soon.
The regression was introduced in 0030b0a and it is indeed the flush
triggered when closing one of the file descriptors that causes the issue.
We have two simple reproductions (thanks @jamesbornholt and @passaro):
One in Python...
import os
import sys
# open the file and duplicate the file descriptor
path = sys.argv[1]
fd = os.open(path, os.O_RDONLY)
fd2 = os.dup(fd)
# read from the first file descriptor
b = os.read(fd, 10)
print(f"read from fd: {b}")
# close the first file descriptor -- triggers a fuse FLUSH
os.close(fd)
# now try reading from the second file descriptor
os.lseek(fd2, 100000, os.SEEK_SET)
b = os.read(fd2, 10)
print(f"read from fd2: {b}")
os.close(fd2)
And the other in Rust as a new integration test to be added: https://github.com/passaro/mountpoint-s3/blob/17c245dbd527815be6659232af97765c7cee07ea/mountpoint-s3/tests/fuse_tests/read_test.rs#L313-L335
from mountpoint-s3.
Thank you for the speedy reproduction and fix.
I just ran a test that was repeatedly failing and it passed, so I think we're all good here. Thanks again!
from mountpoint-s3.
Thanks @dannycjones, just a +1 in that we are also observing this. I was unable to reproduce it succinctly so kudos to @jchorl. The files in question were also bash scripts and our workload is also very heavy. I circumvented the issue in our case by copying the files from S3 (via mountpoint) to EBS such that I wouldn't have to read them from mountpoint during execution but this remains an open issue for us.
from mountpoint-s3.
We've released v1.4.1 which contains a fix for this: https://github.com/awslabs/mountpoint-s3/releases/tag/mountpoint-s3-1.4.1
Please let us know @jchorl if you're still seeing the issue, otherwise I hope we can resolve it.
from mountpoint-s3.
Related Issues (20)
- Support executable files HOT 2
- > mountpoint_s3::fuse: open failed: inode error: inode 3 (full key "synmon/test_file.txt") is not writable while being read HOT 1
- Use mount-s3 as a crate dependency HOT 1
- Debug/trace logging that includes the HTTP request headers HOT 3
- support for s3 mount on ecs variant of bottle rocket HOT 5
- support `AWS_ENDPOINT_URL` env variable HOT 2
- Mountpoint-s3 with minimal IAM Permissions HOT 1
- On-premises Direct Connect Integration HOT 2
- mount-s3 doesn't work on arm version on copy or writing (e.g. t4g.micro) HOT 3
- Specifying KMS Key ID (not ARN) or KMS Alias for upload causes Mountpoint to crash HOT 6
- Mountpoint doesn't work with credential_process in combination with source_profile HOT 18
- S3 Gateway: extend signature types supported for sigv4a and streaming
- Data in the area mounted with mountpoint for amazon s3 (mount-s3) cannot be viewed HOT 6
- mountpoint-s3 latest build from source fails with error `Error: Failed to create S3 client` HOT 2
- Bazillion of ListBucket issued HOT 6
- When copying large size data (13-20GB) to an S3 bucket mounted with mount-s3, it takes a long time to respond to requests to S3.
- Allow configuration of the maximum number of event loop threads HOT 1
- Slow LIST performance with mountpoint
- Adding --cheap option
- Add support for environment variables to configure the mountpoint-s3-cli
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from mountpoint-s3.