Closed
Bug 760895
Opened 12 years ago
Closed 12 years ago
Verify reconciliation algorithm for AitC Storage
Categories
(Web Apps Graveyard :: AppsInTheCloud, defect)
Web Apps Graveyard
AppsInTheCloud
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: anant, Assigned: gps)
Details
(Whiteboard: [blocking-aitc+][qa-])
Attachments
(1 file, 2 obsolete files)
(deleted),
patch
|
mconnor
:
review+
anant
:
feedback+
|
Details | Diff | Splinter Review |
There was concern in bug 755375 that the reconciliation algorithm for the storage layer (documented line 251 onwards in storage.js) was a little too aggressive and/or dangerous. A thorough re-review is required to ensure correctness.
The module has tests, but the method in general may have edge cases that are either untestable or we don't test correctly yet.
Comment 1•12 years ago
|
||
One problem in the current implementation that's known is that if I have installed apps on a build with mozapps API support without AITC support, but update to a build with AITC support and logged into myapps, my local apps will all disappear.
Updated•12 years ago
|
Whiteboard: [blocking-aitc]
Updated•12 years ago
|
Whiteboard: [blocking-aitc] → [blocking-aitc+]
Reporter | ||
Comment 2•12 years ago
|
||
https://mxr.mozilla.org/mozilla-central/source/services/aitc/modules/storage.js#251
Please review and raise issues!
Attachment #631142 -
Flags: review?(mconnor)
Attachment #631142 -
Flags: review?(gps)
Reporter | ||
Updated•12 years ago
|
OS: Linux → All
Hardware: x86 → All
Assignee | ||
Comment 3•12 years ago
|
||
I started with the review and found a number of issues. It was going to take a while to document everything and the new code would be pretty much rewritten anyway, so I just rewrote it.
mconnor gets code review.
anant: please ensure I didn't change behavior at all with the patch.
It might help to look at just the new code instead of trying to parse the diff.
With this patch, I think I fixed a few invalid test cases. I also added a new test case. I also addressed issues where the callback could be invoked multiple times.
Assignee: nobody → gps
Attachment #631142 -
Attachment is obsolete: true
Status: NEW → ASSIGNED
Attachment #631142 -
Flags: review?(mconnor)
Attachment #631142 -
Flags: review?(gps)
Attachment #638521 -
Flags: review?(mconnor)
Attachment #638521 -
Flags: feedback?(anant)
Assignee | ||
Comment 4•12 years ago
|
||
Forgot to qref
Attachment #638521 -
Attachment is obsolete: true
Attachment #638521 -
Flags: review?(mconnor)
Attachment #638521 -
Flags: feedback?(anant)
Attachment #638536 -
Flags: review?(mconnor)
Attachment #638536 -
Flags: feedback?(anant)
Reporter | ||
Comment 5•12 years ago
|
||
Comment on attachment 638536 [details] [diff] [review]
Rewrite reconcile logic, v2
The general algorithm looks good to me.
Attachment #638536 -
Flags: feedback?(anant) → feedback+
Comment 6•12 years ago
|
||
Comment on attachment 638536 [details] [diff] [review]
Rewrite reconcile logic, v2
Algorithm looks good. There are some concerns that are more long term:
* app.origin may at some point not be guaranteed to be unique.
* this is largely written with Set in mind, but had to be modified, so that's a weird artifact
* the split of the function is sort of arbitrary, but isn't terrible since this isn't called multiple times
Attachment #638536 -
Flags: review?(mconnor) → review+
Assignee | ||
Comment 7•12 years ago
|
||
Whiteboard: [blocking-aitc+] → [blocking-aitc+][fixed in services]
Comment 8•12 years ago
|
||
Is there anything I can do to verify this from an end-user perspective?
Whiteboard: [blocking-aitc+][fixed in services] → [blocking-aitc+], [fixed in services], [qa?]
Reporter | ||
Comment 9•12 years ago
|
||
(In reply to Jason Smith [:jsmith] from comment #8)
> Is there anything I can do to verify this from an end-user perspective?
Nope.
Updated•12 years ago
|
Whiteboard: [blocking-aitc+], [fixed in services], [qa?] → [blocking-aitc+], [fixed in services], [qa-]
Assignee | ||
Comment 10•12 years ago
|
||
Status: ASSIGNED → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Whiteboard: [blocking-aitc+], [fixed in services], [qa-] → [blocking-aitc+][qa-]
Updated•6 years ago
|
Product: Web Apps → Web Apps Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•