Closed Bug 1042221 Opened 10 years ago Closed 10 years ago

[email/backend] v2.0 specific uplift of improved saving/shutdown behaviour

Categories

(Firefox OS Graveyard :: Gaia::E-Mail, defect)

x86_64
Linux
defect
Not set
normal

Tracking

(blocking-b2g:2.0+, b2g-v2.0 fixed, b2g-v2.1 unaffected)

RESOLVED FIXED
2.1 S2 (15aug)
blocking-b2g 2.0+
Tracking Status
b2g-v2.0 --- fixed
b2g-v2.1 --- unaffected

People

(Reporter: asuth, Assigned: asuth)

References

Details

Attachments

(1 file)

Bug 921050 and bug 1039007 contain fixes/cleanup to the email app backend's saving logic to ensure that we do not trigger sync or job-op completion notifications until the save transaction has completely terminated.

We believe these problems to have been partially responsible for poor periodic sync behaviour.  Specifically in cases where the periodic sync mechanism performed a self-shutdown, there was a non-trivial risk of some or all of the sync progress to not have been persisted to disk.  Specific impacting factors include general device I/O load, the number of accounts being synchronized, the number of new headers received, etc.

I will be preparing and v2.0-specific patch and testing on a v2.0 flame device for verification.
See Also: → 987931
Note for triage: this is a dependent bug of the formerly blocking bug 1018828. We converted that one to a meta bug and the actual work will happen here and the in the sibling bugs. Requesting blocking here for improvements to email sync stability in 2.0.
blocking-b2g: --- → 2.0?
blocking-b2g: 2.0? → 2.0+
Blocks: 1044179
The outbox-derived patch was manually created by doing "git cherry-pick -n" on that patch, nuking non-gelam changes, then using "git reset -p" to discard hunks while consulting the patch in another window for context purposes.  I think it went pretty well, but I will be doing another pass on both the input and the output to make sure there were no places things got too conflated.  The only question in my mind right now is if the pieces of the 'move' callback addition should be discarded.

I've maintained the commits separately but would squash.  I'll ask mcav for review after I sanity check and smoke-test in order to have another set of eyes to make sure there's nothing obviously dumb I've done.  After dinner.
Target Milestone: --- → 2.1 S1 (1aug)
"git reset -p" was apparently too tricky for me and I ended up not actually discarding any hunks.  Luckily I still understand how to use emacs' diff mode so I've redone the uplift informed by my prior attempt.  We did not need the moveMessages stuff.  (Happily at least for now, my changes are still accessible at https://github.com/asutherland/gaia-email-libs-and-more/commit/59f90727f91244d78a5cf18b631f988fdffca722 to sanity check.)

The bad news is that in my testing I determined we're still missing a piece of the puzzle.  cronsync's makeSlice() call is not actually waiting for the official end of the sync and instead using a falling edge hack.  So I've reopened bug 987931 and I'll fix that on trunk with a test and then we'll fold that into this uplift.
Depends on: 987931
Target Milestone: 2.1 S1 (1aug) → 2.1 S2 (15aug)
Update: the current work toward this blocker is being tracked under bug 987931 and will be resumed here once that bug is ready to land.
landed on gaia/v2.0:
https://github.com/mozilla-b2g/gaia/pull/22279
https://github.com/mozilla-b2g/gaia/commit/9f8ca4ae74f8c14ae8a872bf60160d7394dd2045
Status: ASSIGNED → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: