Massive error spike syncing credit-cards on Fenix.
Categories
(Fenix :: Accounts and Sync, defect)
Tracking
(firefox109 unaffected, firefox110+ fixed, firefox111 fixed)
Tracking | Status | |
---|---|---|
firefox109 | --- | unaffected |
firefox110 | + | fixed |
firefox111 | --- | fixed |
People
(Reporter: markh, Assigned: dimi)
References
(Regression, )
Details
(Keywords: regression)
Attachments
(2 files, 3 obsolete files)
Mobile clients connected to a desktop that has bug 1667257 applied fail to sync credit cards. That bug bumped the sync version of the payload to 4, but the mobile clients reject anything not 3.
What's the chance of backing that out? Even if we make the same change in app-services, it will need to ride the trains, so any release or beta Fenix's will remain broken.
Reporter | ||
Updated•1 year ago
|
Updated•1 year ago
|
Comment 1•1 year ago
|
||
Set release status flags based on info from the regressing bug 1667257
Reporter | ||
Comment 2•1 year ago
|
||
oops, sorry, I got the patch author wrong.
Reporter | ||
Comment 3•1 year ago
•
|
||
Instead of a backout, I think what is going to need to happen here is:
- Change the version back to 3.
- As a kind of migration, go through all credit-cards locally, and if they have version 4, drop it back to 3, possibly re-add the field (see below) and arrange for them to be re-synced.
- Check what happens with mobile if no cc-type is in the payload - we'll need to know if app-services itself will get upset ([edit] I think it will, so will need to be re-added as an empty string) and also check whether Fenix will get upset if it's not a "known" value (in which case I'm not sure what action to take)
- Uplift that to beta.
Assignee | ||
Comment 4•1 year ago
|
||
Mobile clients reject syncing when credit card record version is not 3, so this patch
reverts the credit card record version back to 3 (with cc-type
field).
The auto-detect beahvior still exists, the only difference is now we
will still save the cc-type to storage to comply with the epectation
of mobile clients.
Updated•1 year ago
|
Assignee | ||
Updated•1 year ago
|
Assignee | ||
Comment 5•1 year ago
|
||
Mobile clients reject syncing when credit card record version is not 3, so this patch
reverts the credit card record version back to 3 (with cc-type
field).
The auto-detect network type behavior implemented in bug 1667257 still applies.
The changes made in this commit are:
- Save the cc-type to storage to comply with the expectation of mobile clients.
(This is the behavior for v3 credit record) - When a v4 record is found, rollback to v3 and make sure
_sync.changeCounter
is set
so we upload the downgraded record to the sync server
Differentiac Revision: https://phabricator.services.mozilla.com/D167790
Updated•1 year ago
|
Assignee | ||
Comment 6•1 year ago
|
||
Mobile clients reject syncing when credit card record version is not 3, so this patch
reverts the credit card record version back to 3 (with cc-type
field).
The auto-detect network type behavior implemented in bug 1667257 still applies.
The changes made in this commit are:
- Save the cc-type to storage to comply with the expectation of mobile clients.
(This is the behavior for v3 credit record) - When a v4 record is found, rollback to v3 and make sure
_sync.changeCounter
is set
so we upload the downgraded record to the sync server
Differentiac Revision: https://phabricator.services.mozilla.com/D167790
Updated•1 year ago
|
Assignee | ||
Comment 7•1 year ago
|
||
Mobile clients reject syncing when credit card record version is not 3, so this patch
reverts the credit card record version back to 3 (with cc-type
field).
The auto-detect network type behavior implemented in bug 1667257 still applies.
The changes made in this commit are:
- Save the cc-type to storage to comply with the expectation of mobile clients.
(This is the behavior for v3 credit record) - When a v4 record is found, rollback to v3 and make sure
_sync.changeCounter
is set
so we upload the downgraded record to the sync server
Reporter | ||
Comment 8•1 year ago
|
||
FTR, release desktop is also impacted if a beta or nightly desktop is syncing with it:
1674691198473 Sync.Engine.CreditCards.Store WARN Failed to apply incoming record 4b1b1c81d4c5: Error: Got unknown record version 4; want 3(resource://autofill/FormAutofillStorageBase.jsm:321:13) JS Stack trace: _ensureMatchingVersion@FormAutofillStorageBase.jsm:321:13
Comment 9•1 year ago
|
||
Will that patch require uplifting to beta?
Comment 10•1 year ago
|
||
Comment 11•1 year ago
|
||
Pushed by mhammond@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/3d9e6839b65e Rollback credit card record version from 4 to 3 r=markh,sgalich
Comment 12•1 year ago
|
||
Backed out for xpc failure on test_sync_deprecate_credit_card_v4.js
Backout link: https://hg.mozilla.org/integration/autoland/rev/67bc0669fc1698a804f8afa3e9f60bd5c5958176
Log link: https://treeherder.mozilla.org/logviewer?job_id=403784276&repo=autoland&lineNumber=1821
Comment 13•1 year ago
|
||
Pushed by dlee@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/30dcad75e37f Rollback credit card record version from 4 to 3 r=markh,sgalich
Comment 14•1 year ago
|
||
bugherder |
Assignee | ||
Updated•1 year ago
|
Assignee | ||
Comment 15•1 year ago
|
||
Hi Pascal, I'm not sure why I can't see uplift request option in the attachment, so just manually add one:
BetaUplift Approval Request
- User impact if declined: Users will not be able to sync credit cards,
- Is this code covered by automated tests?: Yes
- Has the fix been verified in Nightly?: Yes
- Needs manual test from QE?: No
- List of other uplifts needed: None
- Risk to taking this patch: Medium
- Why is the change risky/not risky? (and alternatives if risky): The code only affect users who have credit card saved in firefox. Once user have migrated back to credit card version 3, the change made in this patch will not run anymore
- String changes made/needed: None
Comment 16•1 year ago
|
||
It might be because the bug is filed in the Fenix component which is on Github while the patch actually landed on m-c.
Reporter | ||
Comment 17•1 year ago
|
||
Mobile clients reject syncing when credit card record version is not 3, so this patch
reverts the credit card record version back to 3 (with cc-type
field).
The auto-detect network type behavior implemented in bug 1667257 still applies.
The changes made in this commit are:
- Save the cc-type to storage to comply with the expectation of mobile clients.
(This is the behavior for v3 credit record) - When a v4 record is found, rollback to v3 and make sure
_sync.changeCounter
is set
so we upload the downgraded record to the sync server
Original Revision: https://phabricator.services.mozilla.com/D167814
Comment 18•1 year ago
|
||
Uplift Approval Request
- User impact if declined: Credit card syncing broken
- Needs manual QE test: no
- Fix verified in Nightly: yes
- Code covered by automated testing: yes
- Explanation of risk level: risk limited to credit-card functionality
- Is Android affected?: no
- Risk associated with taking this patch: low
- Steps to reproduce for manual QE testing: n/a
- String changes made/needed: None
Reporter | ||
Updated•1 year ago
|
Comment 19•1 year ago
|
||
uplift |
Comment 20•1 year ago
|
||
A patch has been attached on this bug, which was already closed. Filing a separate bug will ensure better tracking. If this was not by mistake and further action is needed, please alert the appropriate party. (Or: if the patch doesn't change behavior -- e.g. landing a test case, or fixing a typo -- then feel free to disregard this message)
Updated•1 year ago
|
Comment 21•1 year ago
|
||
Removing the qe-verify+ label since it appears that manual qe isn't needed. However, when attempting to reproduce the issue, we cannot meet the condition from 1667257 and the fix cannot be confirmed on our side.
Comment 22•1 year ago
|
||
Attempted to reproduce the issue in beta 110.0b6 as well, but with the same result as above. However, Credit Card sync works as expected.
Description
•