Closed Bug 609395 Opened 14 years ago Closed 13 years ago

Make tracking changedIDs obsolete for most cases

Categories

(Firefox :: Sync, defect)

defect
Not set
normal

Tracking

()

RESOLVED WONTFIX

People

(Reporter: philikon, Unassigned)

References

Details

All data types we sync have associated modified timestamps. That means we can just remember the last time we synced, have trackers only track dirty state as a boolean flag, and then do range queries to find the items that were modified sync the last time.

As an upgrade step, we read changedIDs one last time and use that to sync. From that point on we save a local timestamp as a pref every time we sync and use the range queries.
One thing we need to make sure is that upload errors are still handled, e.g. if the server responds with a list of GUIDs that it couldn't store, these need to be uploaded again. Bug 591126 plays into this, too.
(In reply to comment #1)
> One thing we need to make sure is that upload errors are still handled, e.g. if
> the server responds with a list of GUIDs that it couldn't store, these need to
> be uploaded again. Bug 591126 plays into this, too.

Just discussed this with Toby. The server should 503 if there's something wrong with the database and the records weren't written. In that case we abort already. The only time we ever get back a list of failed record IDs is when records themselves were malformed. I think in that case something's wrong with Sync anyway, so we might as well just abort in that case, too.

However, Toby raised a good point: the timestamp approach won't let us track deletes. So we'll still need the trackers around for deletes. It'll be much less I/O and it will only occur when deletes are happening for a particular engine.
(In reply to comment #2)
> The only time we ever get back a list of failed record IDs is when
> records themselves were malformed. I think in that case something's wrong with
> Sync anyway, so we might as well just abort in that case, too.

Since we need to keep trackers around anyway, we can mark the failed items in the tracker and continue silently, but we should log the incident on the server. Filed bug 610827 for that.
Morphing this bug slightly: We'll still track changedIDs, but only in the following cases:

* deletes
* individual records failed to upload
* timestamps for the specific record type (e.g. passwords, form data) aren't available (Firefox 3.5/3.6)
Summary: No longer track changedIDs → Make tracking changedIDs obsolete for most cases
Depends on: 600993
Depends on: 610923
Depends on: 560580
Anything left to do here?  Reopen if so.
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
(In reply to Mike Connor [:mconnor] from comment #5)
> Anything left to do here?  Reopen if so.

Technically this was never done and we still want to do it. But not in the old engine/store/tracker world. So yeah marking this as WONTFIX.
Resolution: FIXED → WONTFIX
Component: Firefox Sync: Backend → Sync
Product: Cloud Services → Firefox
You need to log in before you can comment on or make changes to this bug.