Comments (2)
Yes, --metadata-ttl=0
disables metadata caching entirely, which is almost certainly not a good thing, as filesystem performance with zero metadata caching is very bad. For Mountpoint, that means sending many more LIST/HEAD requests than necessary, as you're seeing.
When caching is disabled (i.e. no --cache
or --metadata-ttl
is set), the actual setting is roughly the same as --metadata-ttl=0.1
(noting that you can't actually set that as a float), as this comment explains:
mountpoint-s3/mountpoint-s3/src/fs.rs
Lines 303 to 313 in 022f915
This 0.1
setting is also the reason our documentation has a caveat around consistency:
However, Mountpoint may return stale metadata for an existing object within 1 second of the object being modified or deleted in your S3 bucket by another client. This occurs only if the object was accessed through Mountpoint immediately before being modified or deleted in your S3 bucket. The stale metadata will only be visible through metadata operations such as stat on individual files. Directory listings will never be stale and always reflect the current metadata. These cases do not apply to newly created objects, which are always immediately visible through Mountpoint. Stale metadata can be refreshed by either opening the file or listing its parent directory.
We probably should just forbid --metadata-ttl=0
, or convert it to mean the same thing as the default value, as I can't imagine a setting where it would actually work well. Until then, I think --metadata-ttl=1
is likely the effect you're looking for.
from mountpoint-s3.
@jamesbornholt Thank you for such a detailed explanation. Now it's clear to me why I saw such behavior for the --metadata-ttl=0
case. I just didn't realize that --metadata-ttl=0
would result in different settings than disabled caching.
Now, as I understand that --metadata-ttl=0
is technically valid and produces expected behavior, the only proposition I have is to add more details about the current default TTLs settings to the documentation. Not sure whether any changes are needed on the CLI side.
from mountpoint-s3.
Related Issues (20)
- Caching performance should be better HOT 4
- Improvements to error reporting (RFC)
- Add the expected behaviours of Mountpoint in the troubleshooting page that customers face
- Duplication of file and directory of same name in S3 Express Zone One bucket using Mountpoint
- Build is not reproducible HOT 1
- Double `touch` errors HOT 2
- Include creation of files for benchmarking Mountpoint in benchmarking script HOT 1
- token is not refreshed when running in k8s pod connected to serviceaccount HOT 8
- Unable to Write HOT 4
- Files unexpectedly released leading to `Bad file descriptor` HOT 5
- Disabling data cache isn't mentioned in the documentation HOT 2
- Unable to mount non-aws storage due to "Host name was invalid for dns resolution" HOT 2
- Separate part sizes for GET and PUT
- `--metadata-ttl` option requires `--cache` directory
- Support for BottlerocketOS HOT 1
- `stat` call for `dir1/dir2/dir3/file` triggers many List and Head requests HOT 1
- error in issue template HOT 2
- ls: cannot access /mnt/s3: Connection refused HOT 2
- `stat` call for path triggers two requests (one List and one Head) with enabled cache HOT 1
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.