Comments (2)
This offers speed advantages, and if journaling is enabled on the file system, there is significantly small potential risk of data loss.
from aiofile.
The point is:
- If you expose a well known API that says/means to do
x
but ends up doingy
, that could be categorised as being misleading (of the API). - As a library writer, and IMO, you should just expose the functionality and let the users decide on the "significantly small potential risk of data loss", otherwise you are just assuming that all past, current and future users and systems would be unaffected and/or see things the way you see as opposed to what is otherwise the norm (which I think is a flawed premise). For eg. I do millions upon millions of records and checkpoints on an NFS where multiple systems are reading the data (so multiple OSes involved). This runs for weeks and months. At that scale the "small potential" becomes magnified. There have been occasions where the checkpoint was written before the actual data could be persisted before the writer crashed. So if I want my
fsync
s to really meanfsync
s and don't want to work out what systems treat those two differently and what's the difference etc I'm unable to do it here. - I don't claim to have read or understood your source code thoroughly but it seems you have an underlying facility in place already: https://github.com/mosquito/caio/blob/c2a39f8e3fdb52068a11d1193ed530cd3588e039/caio/abstract.py#L42. This frontend is simply calling the wrong function. Could it not just have
fsync
callfsync
andfdsync
callfdsync
?
from aiofile.
Related Issues (20)
- Can't install on Amazon Linux HOT 2
- Function not implemented HOT 1
- async_open does not create file if file does not exist in mode 'a+' HOT 1
- Add support for StringIO and BytesIO HOT 1
- Can I use aiofile.async_open without a with statement? HOT 4
- Race condition in `AIOFile.open()` HOT 4
- Some sort of changelog / release notes?
- async_open doesn't fully mimic the behavior of Python file objects HOT 5
- Manual context management example on readme has a bug HOT 1
- How to work with NFS? HOT 1
- Tag the source HOT 1
- AIOFile context manager looses data HOT 3
- aiofile LineReader does a read for every line in spite of having multiple lines in CHUNK_SIZE HOT 2
- Which of the methods are coroutine-safe? HOT 2
- No flush API and no way to set unbuffered writes in binary mode HOT 3
- Add performance benchmarks to the readme HOT 3
- Unable to call close() twice
- Memory leak during import
- TextFileWrapper.read reads more than requested
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 aiofile.