[Python-Dev] best place for an atomic file API (original) (raw)
"Martin v. Löwis" martin at v.loewis.de
Thu Feb 16 10:08:30 CET 2012
- Previous message: [Python-Dev] best place for an atomic file API
- Next message: [Python-Dev] best place for an atomic file API
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
(MvL complained in the tracker issue about a lack of concrete use cases, but I think fixing race conditions when overwriting bytecode files in importlib and the existing distutils/packaging use cases cover that)
I certainly agree that there are applications of "atomic replace", and that the os module should expose the relevant platform APIs where available.
I'm not so sure that "atomic writes" is a useful concept. I haven't seen a proposed implementation, yet, but I'm doubtful that truly ACID writes are possible unless the operating system supports transactions (which only Windows 7 does). Even if you are ignoring Isolation, Atomic already is a challenge: if you first write to a tempfile, then rename it, you may end up with a state tempfile (e.g. if the process is killed), and no rollback operation.
So "atomic write" to me promises something that it likely can't deliver. OTOH, I still think that the promise isn't actually asked for in practice (not even when overwriting bytecode files)
Regards, Martin
- Previous message: [Python-Dev] best place for an atomic file API
- Next message: [Python-Dev] best place for an atomic file API
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]