[Python-Dev] cpython (2.7): #9559: Append data to single-file mailbox files if messages are only added (original) (raw)
Petri Lehtinen petri at digip.org
Thu Jun 28 15:16:45 CEST 2012
- Previous message: [Python-Dev] cpython (2.7): #9559: Append data to single-file mailbox files if messages are only added
- Next message: [Python-Dev] cpython (2.7): #9559: Append data to single-file mailbox files if messages are only added
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Antoine Pitrou wrote:
> If messages were only added, a new file is no longer created and > renamed over the old file when flush() is called on an mbox, MMDF or > Babyl mailbox.
Why so? Appending is not atomic and, if it fails in the middle, you could get a corrupt mbox file. Furthermore, I disagree that it's a bugfix: IMO it should wait for 3.4.
The code previosly already appended messages to the end of the file when calling add(). This patch just changed it to not do a full rewrite when flush() is called. Having a partially written message in the end of your mailbox doesn't seem like a fatal corruption to me.
Furthermore, I (and R. David Murray) think this is not so surprising for users. Most (or all) other implementations always write changes in-place without renaming, as this makes it possible to find out whether new mail has arrived.
- Previous message: [Python-Dev] cpython (2.7): #9559: Append data to single-file mailbox files if messages are only added
- Next message: [Python-Dev] cpython (2.7): #9559: Append data to single-file mailbox files if messages are only added
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]