Merge lp://staging/~exarkun/divmod.org/pop3-grabber-deletes into lp://staging/divmod.org
Status: | Work in progress |
---|---|
Proposed branch: | lp://staging/~exarkun/divmod.org/pop3-grabber-deletes |
Merge into: | lp://staging/divmod.org |
Diff against target: |
909 lines (+611/-85) 4 files modified
Quotient/xquotient/grabber.py (+166/-51) Quotient/xquotient/test/historic/stub_pop3uid1to2.py (+37/-0) Quotient/xquotient/test/historic/test_pop3uid1to2.py (+32/-0) Quotient/xquotient/test/test_grabber.py (+376/-34) |
To merge this branch: | bzr merge lp://staging/~exarkun/divmod.org/pop3-grabber-deletes |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Divmod-dev | Pending | ||
Review via email: mp+132756@code.staging.launchpad.net |
Description of the change
This implements deletion of messages from POP3 servers at least one week after Quotient grabs them.
Unmerged revisions
- 2713. By Jean-Paul Calderone
-
Limit the number of results from any single call to shouldDelete to around 1000 - avoids tripping over a SQLite3 limitation, and limiting the number of results is better for large mailboxes anyway.
- 2712. By Jean-Paul Calderone
-
Index on boolean column of questionable value; removing it causes no test failures.
- 2711. By Jean-Paul Calderone
-
Query complexity tests for shouldDelete, and a compound index to make them pass.
- 2710. By Jean-Paul Calderone
-
Avoid grabbing before POP3UID upgrade is complete
- 2709. By Jean-Paul Calderone
-
Upgrader for old POP3UID items.
- 2708. By Jean-Paul Calderone
-
Fix markDeleted to disregard unrelated grabber state
- 2707. By Jean-Paul Calderone
-
Fix shouldDelete to only pay attention to our own POP3UIDs
- 2706. By Jean-Paul Calderone
-
Handle timeouts/lost connections during DELE command
- 2705. By Jean-Paul Calderone
-
Delete the POP3UID objects once the messages are deleted from the server.
- 2704. By Jean-Paul Calderone
-
Kind of gross test for the protocol integration, and the simple implementation change to make it pass
Some things left to do:
- Tweak the code that decides the maximum number of messages to delete in a single session
- Synchronize the Axiom POP3UID deletion transaction(s) with the POP3 server's message TRANSACTION state. A lost connection (eg, from server shutdown) during deletion leaves the messages on the server but erases Quotient's notion of them, causing them to be re-downloaded.
- Reconsider the week long deletion moratorium. Perhaps a useful feature, but *I* don't actually need it. Maybe just set it much lower for now - perhaps to an hour. A week of mail is still over 3000 messages in my mailbox.