Closed Bug 709311 Opened 8 years ago Closed 8 years ago

Implement handling changed meta/global, including copying the change flags

Categories

(Firefox for Android :: Android Sync, defect, P1)

All
Android
defect

Tracking

()

VERIFIED FIXED
mozilla15
Tracking Status
firefox14 --- verified
blocking-fennec1.0 --- +

People

(Reporter: ally, Assigned: nalexander)

References

()

Details

Attachments

(1 file)

No description provided.
Assignee: nobody → rnewman
OS: Mac OS X → Android
Hardware: x86 → All
tracking-fennec: --- → ?
tracking-fennec: ? → +
Blocks: 745431
tracking-fennec: + → ---
blocking-fennec1.0: --- → +
What exactly is this bug for?  Can we get a detailed description?  Why do we need it?  Really strange seeing a blocker with no content.
See Bug 745431 for description.

The dependencies of that bug -- including this one -- are "work item" bugs, not high-level issues; unless you're familiar with the Sync protocol and Android Sync's architecture they won't mean anything to you.

This bug is flagged instead of that bug because apparently we don't flag meta bugs. If you prefer, I can close all of these dependencies and just make that a ten-part megabug, and flag that; doesn't matter to me. They all have to land for the goal to be achieved.
Whiteboard: [not started]
Whiteboard: [not started] → [work started]
Assignee: rnewman → nalexander
Updated test instructions:

*** bug:709311
**** completely blank server:
    - pair device to active desktop account
    - sync device
    - wipe account using AP or JS
    - sync device
    - verify logs like
I GlobalSession(21351)        Running next stage fetchMetaGlobal (org.mozilla.gecko.sync.stage.FetchMetaGlobalStage@410aafa0)...
I FetchMetaGlobalStage(21351) Fetching fresh meta/global for this session.
W SSResourceDelegate(21351)   HTTP request failed.
W SSResourceDelegate(21351)   HTTP response body: 404 Not Found
W SSResourceDelegate(21351)
W SSResourceDelegate(21351)   The resource could not be found.
D GlobalSession(21351)        Fresh starting.
D GlobalSession(21351)        Successfully wiped server.  Resetting all stages and purging cached meta/global and crypto/keys records.
I GlobalSession(21351)        Resetting all stages.
...
I GlobalSession(21351)        Uploading new meta/global with sync ID gLzrFCY09hgw.
I GlobalSession(21351)        Uploaded new meta/global with sync ID gLzrFCY09hgw.
I GlobalSession(21351)        Uploading new crypto/keys.
D GlobalSession(21351)        Keys uploaded.
I GlobalSession(21351)        Uploaded new crypto/keys.
W GlobalSession(21351)        Fresh start succeeded; restarting global session.
I SyncAdapter(21351)          Stage completed: idle
   - verify sync actually happened after all that (server has been
     wiped so only outbound should appear on server)

**** valid meta/global but missing crypto/keys (incomplete freshStart)
    - pair device to active desktop account
    - sync desktop (add some new bookmarks that don't exist on device
      before this sync)
    - delete crypto/keys using JS like
Components.utils.import("resource://services-sync/main.js");
Components.utils.import("resource://services-sync/resource.js");
function deletePath(path) {
  let resource = new Resource(Weave.Service.storageURL + path);
  resource.setHeader("X-Confirm-Delete", "1");
  return resource.delete();
}
deletePath("crypto/keys");
    - sync device
    - verify logs like
I FetchMetaGlobalStage(21351) Fetching fresh meta/global for this session.
D class ch.boye.httpclientandroidlib.impl.conn.tsccm.ThreadSafeClientConnManager(21351) Shutting down
D dalvikvm(21351)             GC_CONCURRENT freed 381K, 8% free 7238K/7815K, paused 1ms+6ms
I MetaGlobal(21351)           meta/global is {"storageVersion":5,"engines":{"history":{"syncID":"RgRvcL1V2SuL","version":1},"bookmarks":{"syncID":"XFfdHVzc_dXQ","version":2},"passwords":{"syncID":"KWIvRGvAb6r9","version":1},"forms":{"syncID":"y39AaNcDzgLs","version":1},"tabs":{"syncID":"5EcV6p4J87R3","version":1},"clients":{"syncID":"goS7t_J6bhtA","version":1}},"syncID":"FD3wG0RlxzGb"}
...
I SyncAdapter(21351)          Stage completed: fetchMetaGlobal
I GlobalSession(21351)        Running next stage ensureKeysStage (org.mozilla.gecko.sync.stage.EnsureCrypto5KeysStage@410e2818)...
I EnsureC5KeysStage(21351)    Fetching fresh collection keys for this session.
W SSResourceDelegate(21351)   HTTP request failed.
W SSResourceDelegate(21351)   HTTP response body: 404 Not Found
W SSResourceDelegate(21351)
W SSResourceDelegate(21351)   The resource could not be found.
I EnsureC5KeysStage(21351)    Got 404 fetching keys.  Fresh starting since keys are missing on server.
D GlobalSession(21351)        Fresh starting.
D dalvikvm(21351)             GC_CONCURRENT freed 365K, 9% free 7164K/7815K, paused 3ms+2ms
D GlobalSession(21351)        Successfully wiped server.  Resetting all stages and purging cached meta/global and crypto/keys records.
I GlobalSession(21351)        Resetting all stages.
...
I GlobalSession(21351)        Uploading new meta/global with sync ID nT-_9J6dlBoE.
I GlobalSession(21351)        Uploaded new meta/global with sync ID nT-_9J6dlBoE.
I GlobalSession(21351)        Uploading new crypto/keys.
D GlobalSession(21351)        Keys uploaded.
I GlobalSession(21351)        Uploaded new crypto/keys.
W GlobalSession(21351)        Fresh start succeeded; restarting global session.
    - verify sync actually happened after all that (remember that
      server has been wiped so only outbound should appear -- verify
      that new bookmarks added didn't get synced to device)
Whiteboard: [work started] → [needs review :rnewman]
https://hg.mozilla.org/integration/mozilla-inbound/rev/35a9d2659303
Whiteboard: [needs review :rnewman]
Target Milestone: --- → mozilla15
Status: NEW → ASSIGNED
Attached patch Aurora uplift.Splinter Review
Attachment #624875 - Flags: approval-mozilla-aurora?
Comment on attachment 624875 [details] [diff] [review]
Aurora uplift.

[Approval Request Comment]
Bug caused by (feature/regressing bug #): 
User impact if declined: 
Testing completed (on m-c, etc.): 
Risk to taking this patch (and alternatives if risky): 
String or UUID changes made by this patch: 

part of the meta/global implementation bundle of release blockers
Attachment #624875 - Flags: approval-mozilla-beta?
Let me add a QA scenario:

Please verify that pairing an Android Device downloads data and does not wipe any data from the server.
https://hg.mozilla.org/mozilla-central/rev/35a9d2659303
Status: ASSIGNED → RESOLVED
Closed: 8 years ago
Flags: in-testsuite-
Resolution: --- → FIXED
Attachment #624875 - Flags: approval-mozilla-beta?
Attachment #624875 - Flags: approval-mozilla-aurora?
Attachment #624875 - Flags: approval-mozilla-aurora+
verified with Nightly build of 20120521
Status: RESOLVED → VERIFIED
Verified that paring Android Device downloads data and does not wipe data from server.
Build: Aurora 14.0a2 20120521
Pushed a follow-up to delete stale files:

https://hg.mozilla.org/integration/mozilla-inbound/rev/cd7149361d0a

Sheriff, you can ignore this.
Product: Mozilla Services → Android Background Services
Product: Android Background Services → Firefox for Android
You need to log in before you can comment on or make changes to this bug.