Closed Bug 1892968 Opened 5 months ago Closed 3 months ago

Settle on better default values for browser.backup.sqlite.pages_per_step and browser.backup.sqlite.step_delay_ms

Categories

(Firefox :: Profile Backup, task, P3)

task

Tracking

()

RESOLVED FIXED
129 Branch
Tracking Status
firefox129 --- fixed

People

(Reporter: mconley, Assigned: sthompson)

References

(Blocks 1 open bug)

Details

(Whiteboard: [fidefe-device-migration])

Attachments

(1 file)

The default values are, I think, not aggressive enough. On my local developer profile, it takes anywhere from 7 - 15 minutes to create a backup. Most of that time is spent using the SQLite online backup API to copy places.sqlite and favicons.sqlite.

By bumping the two prefs mentioned in the summary to 50 each, that time went down to about 3 seconds, so it's a pretty dramatic improvement. I suspect the Places databases becomes less responsive during this window of time, but considering how short that time window is, that might be acceptable. We can try to tune this a bit to balance these two priorities (responsiveness of the databases, speed of creating the backup).

Severity: -- → N/A
Priority: -- → P3

Using the 50, 50 parameters on one of our old reference devices, it cloned a large profile in just over a minute, without observable ill effects on the responsiveness of the browser (the machine itself is fairly weak, so the responsiveness wasn't incredible - but running a backup with these parameters didn't appear to make things worse).

So I'm going to recommend 50 and 50 for now.

Hey sthompson, did you have time to pick up a two-liner? It's these: https://searchfox.org/mozilla-central/rev/5b037d9c6ecdb0729f39ad519f0b867d80a92aad/browser/app/profile/firefox.js#3123,3125

Flags: needinfo?(sthompson)

If you need another data point: On my MacBook Pro with M1 Pro, setting both values to 50 reduced the backup time for my profile from more than ten minutes to 12 seconds. Towards the end of the process, however, there is a noticeable delay when switching tabs. Unfortunately, I don't have the time to change tabs for ten minutes to find out whether the problem also existed with the old values.

(In reply to Sören Hentzschel from comment #2)

If you need another data point: On my MacBook Pro with M1 Pro, setting both values to 50 reduced the backup time for my profile from more than ten minutes to 12 seconds. Towards the end of the process, however, there is a noticeable delay when switching tabs.

That's unlikely to be the SQLite database cloning, and more likely to be the compression step, which I was surprised to learn does deflate on the main thread. See bug 1898785.

50 pages per step and 50 milliseconds of waiting between pages seems to be able to copy sqlite databases in a reasonable amount of time while not causing noticeable performance issues on low-spec test hardware.

Assignee: nobody → sthompson
Status: NEW → ASSIGNED
Pushed by mconley@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/f5d89aa588fc Speed up SQLite backup operations r=backup-reviewers,mconley

Backed out for causing Mn failures on test_backup.py.

[task 2024-07-02T14:02:29.127Z] 14:02:29     INFO - TEST-START | browser/components/backup/tests/marionette/test_backup.py BackupTest.test_backup
[task 2024-07-02T14:02:29.127Z] 14:02:29     INFO -  1719928949127	Marionette	DEBUG	Accepted connection 3 from 127.0.0.1:51423
[task 2024-07-02T14:02:29.128Z] 14:02:29     INFO -  1719928949128	Marionette	DEBUG	3 -> [0,1,"WebDriver:NewSession",{"strictFileInteractability":true}]
[task 2024-07-02T14:02:29.128Z] 14:02:29     INFO -  1719928949128	Marionette	DEBUG	Waiting for initial application window
[task 2024-07-02T14:02:29.129Z] 14:02:29     INFO -  1719928949129	RemoteAgent	TRACE	[4] ProgressListener Start: expectNavigation=false resolveWhenStarted=false unloadTimeout=5000 waitForExplicitStart=false
[task 2024-07-02T14:02:29.129Z] 14:02:29     INFO -  1719928949129	RemoteAgent	TRACE	[4] ProgressListener Setting unload timer (5000ms)
[task 2024-07-02T14:02:29.130Z] 14:02:29     INFO -  1719928949129	RemoteAgent	TRACE	[4] Wait for initial navigation: isInitial=false, isLoadingDocument=false
[task 2024-07-02T14:02:29.130Z] 14:02:29     INFO -  1719928949129	RemoteAgent	TRACE	[4] Document already finished loading: about:blank
[task 2024-07-02T14:02:29.130Z] 14:02:29     INFO -  1719928949129	RemoteAgent	TRACE	[4] ProgressListener Stop: has error=false url=about:blank
[task 2024-07-02T14:02:29.131Z] 14:02:29     INFO -  1719928949130	Marionette	DEBUG	3 <- [1,1,null,{"sessionId":"0d36e29f-e229-4d50-adcf-29358ad14c94","capabilities":{"acceptInsecureCerts":false,"browserName":"firefox","browserVersion":"129.0a1","platformName":"mac","unhandledPromptBehavior":"dismiss and notify","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:129.0) Gecko/20100101 Firefox/129.0","moz:buildID":"20240702132801","moz:headless":false,"moz:platformVersion":"19.6.0","moz:processID":1987,"moz:profile":"/var/folders/rf/8ch_5vg10n922xvwyw19pdd4000014/T/tmpkzmt1104.mozrunner","moz:shutdownTimeout":60000,"pageLoadStrategy":"normal","timeouts":{"implicit":0,"pageLoad":300000,"script":30000},"setWindowRect":true,"strictFileInteractability":true,"moz:accessibilityChecks":false,"moz:webdriverClick":true,"moz:windowless":false,"proxy":{}}}]
[task 2024-07-02T14:02:29.131Z] 14:02:29     INFO -  1719928949131	Marionette	DEBUG	3 -> [0,2,"WebDriver:SetTimeouts",{"script":30000}]
[task 2024-07-02T14:02:29.132Z] 14:02:29     INFO -  1719928949131	Marionette	DEBUG	3 <- [1,2,null,{"value":null}]
[task 2024-07-02T14:02:29.132Z] 14:02:29     INFO -  1719928949132	Marionette	DEBUG	3 -> [0,3,"WebDriver:SetTimeouts",{"pageLoad":300000}]
[task 2024-07-02T14:02:29.132Z] 14:02:29     INFO -  1719928949132	Marionette	DEBUG	3 <- [1,3,null,{"value":null}]
[task 2024-07-02T14:02:29.133Z] 14:02:29     INFO -  1719928949132	Marionette	DEBUG	3 -> [0,4,"WebDriver:SetTimeouts",{"implicit":0}]
[task 2024-07-02T14:02:29.133Z] 14:02:29     INFO -  1719928949133	Marionette	DEBUG	3 <- [1,4,null,{"value":null}]
[task 2024-07-02T14:02:29.133Z] 14:02:29     INFO -  1719928949133	Marionette	DEBUG	3 -> [0,5,"Marionette:AcceptConnections",{"value":false}]
[task 2024-07-02T14:02:29.134Z] 14:02:29     INFO -  1719928949133	Marionette	INFO	Stopped listening on port 2828
[task 2024-07-02T14:02:29.134Z] 14:02:29     INFO -  1719928949133	Marionette	DEBUG	3 <- [1,5,null,{"value":null}]
[task 2024-07-02T14:02:29.135Z] 14:02:29     INFO -  1719928949134	Marionette	DEBUG	3 -> [0,6,"Marionette:Quit",{}]
[task 2024-07-02T14:02:29.178Z] 14:02:29     INFO -  1719928949178	Marionette	TRACE	Received observer notification quit-application
[task 2024-07-02T14:02:29.180Z] 14:02:29     INFO -  1719928949179	Marionette	TRACE	Received observer notification quit-application
[task 2024-07-02T14:02:29.183Z] 14:02:29     INFO -  1719928949183	Marionette	DEBUG	Marionette stopped listening
[task 2024-07-02T14:02:29.184Z] 14:02:29     INFO -  1719928949183	Marionette	DEBUG	3 <- [1,6,null,{"cause":"shutdown","forced":false,"in_app":true}]
[task 2024-07-02T14:02:29.215Z] 14:02:29     INFO -  1719928949215	Marionette	DEBUG	Closed connection 3
[task 2024-07-02T14:02:29.511Z] 14:02:29     INFO - Application command: /opt/worker/tasks/task_171992836689828/build/application/Firefox Nightly.app/Contents/MacOS/firefox -no-remote -marionette -foreground -profile /var/folders/rf/8ch_5vg10n922xvwyw19pdd4000014/T/tmp1_agvqaj.mozrunner
[task 2024-07-02T14:02:29.865Z] 14:02:29     INFO -  1719928949865	Marionette	INFO	Marionette enabled
[task 2024-07-02T14:02:30.089Z] 14:02:30     INFO -  1719928950089	Marionette	TRACE	Received observer notification final-ui-startup
[task 2024-07-02T14:02:30.143Z] 14:02:30     INFO -  1719928950143	Marionette	INFO	Listening on port 2828
[task 2024-07-02T14:02:30.144Z] 14:02:30     INFO -  1719928950143	Marionette	DEBUG	Marionette is listening
[task 2024-07-02T14:02:30.261Z] 14:02:30     INFO -  1719928950261	Marionette	DEBUG	Accepted connection 0 from 127.0.0.1:51429
[task 2024-07-02T14:02:30.290Z] 14:02:30     INFO -  1719928950289	Marionette	DEBUG	Closed connection 0
[task 2024-07-02T14:02:30.290Z] 14:02:30     INFO -  1719928950289	Marionette	DEBUG	Accepted connection 1 from 127.0.0.1:51430
[task 2024-07-02T14:02:30.410Z] 14:02:30     INFO -  1719928950410	Marionette	DEBUG	1 -> [0,1,"WebDriver:NewSession",{"strictFileInteractability":true}]
[task 2024-07-02T14:02:30.413Z] 14:02:30     INFO -  1719928950413	Marionette	DEBUG	Waiting for initial application window
[task 2024-07-02T14:02:31.946Z] 14:02:31     INFO -  console.debug: BackupService: "Instantiated"
[task 2024-07-02T14:02:31.947Z] 14:02:31     INFO -  console.debug: BackupService: "Checking for post-recovery file in /var/folders/rf/8ch_5vg10n922xvwyw19pdd4000014/T/tmp1_agvqaj.mozrunner"
[task 2024-07-02T14:02:31.947Z] 14:02:31     INFO -  console.debug: BackupService: "Registering idle observer for 300 seconds of idle time"
[task 2024-07-02T14:02:31.947Z] 14:02:31     INFO -  console.debug: BackupService: "Idle observer registered."
[task 2024-07-02T14:02:31.947Z] 14:02:31     INFO -  console.debug: BackupService: "Did not find post-recovery file."
[task 2024-07-02T14:02:31.947Z] 14:02:31     INFO -  console.debug: BackupService: "Taking Telemetry measurements"
[task 2024-07-02T14:02:31.974Z] 14:02:31     INFO -  1719928951973	Marionette	TRACE	Received observer notification browser-idle-startup-tasks-finished
[task 2024-07-02T14:02:31.978Z] 14:02:31     INFO -  1719928951977	RemoteAgent	TRACE	[10] ProgressListener Start: expectNavigation=false resolveWhenStarted=false unloadTimeout=5000 waitForExplicitStart=false
[task 2024-07-02T14:02:31.978Z] 14:02:31     INFO -  1719928951977	RemoteAgent	TRACE	[10] ProgressListener Setting unload timer (5000ms)
[task 2024-07-02T14:02:31.978Z] 14:02:31     INFO -  1719928951977	RemoteAgent	TRACE	[10] Wait for initial navigation: isInitial=false, isLoadingDocument=false
[task 2024-07-02T14:02:31.978Z] 14:02:31     INFO -  1719928951977	RemoteAgent	TRACE	[10] Document already finished loading: about:blank
[task 2024-07-02T14:02:31.979Z] 14:02:31     INFO -  1719928951977	RemoteAgent	TRACE	[10] ProgressListener Stop: has error=false url=about:blank
[task 2024-07-02T14:02:31.989Z] 14:02:31     INFO -  1719928951988	Marionette	DEBUG	1 <- [1,1,null,{"sessionId":"dbb2ff28-78c9-4a67-b050-f4ee5a866117","capabilities":{"acceptInsecureCerts":false,"browserName":"firefox","browserVersion":"129.0a1","platformName":"mac","unhandledPromptBehavior":"dismiss and notify","userAgent":"Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:129.0) Gecko/20100101 Firefox/129.0","moz:buildID":"20240702132801","moz:headless":false,"moz:platformVersion":"19.6.0","moz:processID":1994,"moz:profile":"/var/folders/rf/8ch_5vg10n922xvwyw19pdd4000014/T/tmp1_agvqaj.mozrunner","moz:shutdownTimeout":60000,"pageLoadStrategy":"normal","timeouts":{"implicit":0,"pageLoad":300000,"script":30000},"setWindowRect":true,"strictFileInteractability":true,"moz:accessibilityChecks":false,"moz:webdriverClick":true,"moz:windowless":false,"proxy":{}}}]
[task 2024-07-02T14:02:31.994Z] 14:02:31     INFO -  1719928951994	Marionette	DEBUG	1 -> [0,2,"Marionette:SetContext",{"value":"chrome"}]
[task 2024-07-02T14:02:31.994Z] 14:02:31     INFO -  1719928951994	Marionette	DEBUG	1 <- [1,2,null,{"value":null}]
[task 2024-07-02T14:02:31.997Z] 14:02:31     INFO -  1719928951996	Marionette	DEBUG	1 -> [0,3,"WebDriver:ExecuteAsyncScript",{"script":"let [outerResolve] = arguments;\n          (async () => {\n            // We'll just add a single cookie, and then make sure th ...          Ci.nsICookie.SAMESITE_NONE,\n              Ci.nsICookie.SCHEME_HTTP\n            );\n          })().then(outerResolve);","args":[],"newSandbox":true,"sandbox":"default","scriptTimeout":null,"line":248,"filename":"tests/browser/components/backup/tests/marionette/test_backup.py"}]
[task 2024-07-02T14:02:32.000Z] 14:02:32     INFO -  1719928952000	RemoteAgent	TRACE	WebDriverProcessData actor created for PID 1994
[task 2024-07-02T14:02:32.001Z] 14:02:32     INFO -  1719928952000	Marionette	TRACE	[2] MarionetteCommands actor created for window id 4
[task 2024-07-02T14:02:32.004Z] 14:02:32     INFO -  1719928952003	Marionette	DEBUG	1 <- [1,3,null,{"value":null}]
[task 2024-07-02T14:02:32.005Z] 14:02:32     INFO -  1719928952004	Marionette	DEBUG	1 -> [0,4,"WebDriver:ExecuteAsyncScript",{"script":"let [outerResolve] = arguments;\n          (async () => {\n            // Let's start with adding a single password\n            ...             \"pass\"\n            );\n            await Services.logins.addLoginAsync(login1);\n          })().then(outerResolve);","args":[],"newSandbox":true,"sandbox":"default","scriptTimeout":null,"line":285,"filename":"tests/browser/components/backup/tests/marionette/test_backup.py"}]
[task 2024-07-02T14:02:32.014Z] 14:02:32     INFO -  1719928952014	Marionette	DEBUG	1 <- [1,4,null,{"value":null}]
[task 2024-07-02T14:02:32.019Z] 14:02:32     INFO -  1719928952018	Marionette	DEBUG	1 -> [0,5,"WebDriver:ExecuteAsyncScript",{"script":"let [certPath, certDbKey, outerResolve] = arguments;\n          (async () => {\n            const { NetUtil } = ChromeUtils.imp ...           throw new Error(\"The inserted certificate DB key is unexpected.\");\n            }\n          })().then(outerResolve);","args":["/opt/worker/tasks/task_171992836689828/build/tests/marionette/tests/browser/components/backup/tests/marionette/http2-ca.pem","AAAAAAAAAAAAAAAUAAAAG0Wbze8lahTcE4RhwEqMtTpThrzjMBkxFzAVBgNVBAMMDiBIVFRQMiBUZXN0IENB"],"newSandbox":true,"sandbox":"default","scriptTimeout":null,"line":328,"filename":"tests/browser/components/backup/tests/marionette/test_backup.py"}]
<...>
[task 2024-07-02T14:02:41.329Z] 14:02:41     INFO -  console.debug: BackupService::ArchiveEncryption: "Deserializing from state with version " 1
[task 2024-07-02T14:02:41.330Z] 14:02:41     INFO -  1719928961330	Marionette	DEBUG	1 <- [1,3,null,{"value":true}]
[task 2024-07-02T14:02:41.331Z] 14:02:41     INFO -  1719928961331	Marionette	DEBUG	1 -> [0,4,"WebDriver:ExecuteAsyncScript",{"script":"let [outerResolve] = arguments;\n          (async () => {\n            let cookies = Services.cookies.getCookiesFromHost(\"example.com\", {});\n            return cookies.length;\n          })().then(outerResolve);","args":[],"newSandbox":true,"sandbox":"default","scriptTimeout":null,"line":273,"filename":"tests/browser/components/backup/tests/marionette/test_backup.py"}]
[task 2024-07-02T14:02:41.333Z] 14:02:41     INFO -  1719928961332	Marionette	DEBUG	1 <- [1,4,null,{"value":1}]
[task 2024-07-02T14:02:41.333Z] 14:02:41     INFO -  1719928961333	Marionette	DEBUG	1 -> [0,5,"WebDriver:ExecuteAsyncScript",{"script":"let [outerResolve] = arguments;\n          (async () => {\n            let logins = await Services.logins.searchLoginsAsync({\n  ...           origin: \"https://example.com\",\n            });\n            return logins.length;\n          })().then(outerResolve);","args":[],"newSandbox":true,"sandbox":"default","scriptTimeout":null,"line":313,"filename":"tests/browser/components/backup/tests/marionette/test_backup.py"}]
[task 2024-07-02T14:02:41.334Z] 14:02:41     INFO -  1719928961334	Marionette	DEBUG	1 <- [1,5,null,{"value":0}]
[task 2024-07-02T14:02:41.335Z] 14:02:41     INFO -  1719928961335	Marionette	DEBUG	1 -> [0,6,"Marionette:GetContext",{}]
[task 2024-07-02T14:02:41.335Z] 14:02:41     INFO -  1719928961335	Marionette	DEBUG	1 <- [1,6,null,{"value":"chrome"}]
[task 2024-07-02T14:02:41.335Z] 14:02:41     INFO -  1719928961335	Marionette	DEBUG	1 -> [0,7,"Marionette:SetContext",{"value":"chrome"}]
[task 2024-07-02T14:02:41.336Z] 14:02:41     INFO -  1719928961335	Marionette	DEBUG	1 <- [1,7,null,{"value":null}]
[task 2024-07-02T14:02:41.336Z] 14:02:41     INFO -  1719928961336	Marionette	DEBUG	1 -> [0,8,"WebDriver:TakeScreenshot",{"id":null,"full":true,"hash":false,"scroll":true}]
[task 2024-07-02T14:02:41.388Z] 14:02:41     INFO -  1719928961388	Marionette	DEBUG	1 <- [1,8,null,{"value":"iVBORw0KGgoAAAANSUhEUgAABQAAAAQQCAYAAAC9RfbYAAAgAElEQVR4XuzdB5hsRZk/4LqkyyUriKggKihRcRVdJQgI6JpQFDGsWcyCrgkVBIy4ptU1YRZXMayuY ... vAQIECBAgQIAAAQIECBAgQIAAgUPAAXhgiRIgQIAAAQIECBAgQIAAAQIECBCoCTgAa4vpS4AAAQIECBAgQIAAAQIECBAgQOAQGPK+RH57nEA4AAAAAElFTkSuQmCC"}]
[task 2024-07-02T14:02:41.389Z] 14:02:41     INFO -  1719928961389	Marionette	DEBUG	1 -> [0,9,"Marionette:SetContext",{"value":"chrome"}]
[task 2024-07-02T14:02:41.390Z] 14:02:41     INFO -  1719928961389	Marionette	DEBUG	1 <- [1,9,null,{"value":null}]
[task 2024-07-02T14:02:41.390Z] 14:02:41     INFO -  1719928961390	Marionette	DEBUG	1 -> [0,10,"Marionette:GetContext",{}]
[task 2024-07-02T14:02:41.390Z] 14:02:41     INFO -  1719928961390	Marionette	DEBUG	1 <- [1,10,null,{"value":"chrome"}]
[task 2024-07-02T14:02:41.391Z] 14:02:41     INFO -  1719928961391	Marionette	DEBUG	1 -> [0,11,"Marionette:SetContext",{"value":"content"}]
[task 2024-07-02T14:02:41.391Z] 14:02:41     INFO -  1719928961391	Marionette	DEBUG	1 <- [1,11,null,{"value":null}]
[task 2024-07-02T14:02:41.392Z] 14:02:41     INFO -  1719928961391	Marionette	DEBUG	1 -> [0,12,"WebDriver:GetPageSource",{}]
[task 2024-07-02T14:02:41.394Z] 14:02:41     INFO -  1719928961394	RemoteAgent	TRACE	WebDriverProcessData actor created for PID 2016
[task 2024-07-02T14:02:41.395Z] 14:02:41     INFO -  1719928961395	Marionette	TRACE	[5] MarionetteCommands actor created for window id 6442450945
[task 2024-07-02T14:02:41.397Z] 14:02:41     INFO -  1719928961397	Marionette	DEBUG	1 <- [1,12,null,{"value":"<html><head></head><body></body></html>"}]
[task 2024-07-02T14:02:41.398Z] 14:02:41     INFO -  1719928961397	Marionette	DEBUG	1 -> [0,13,"Marionette:SetContext",{"value":"chrome"}]
[task 2024-07-02T14:02:41.398Z] 14:02:41     INFO -  1719928961398	Marionette	DEBUG	1 <- [1,13,null,{"value":null}]
[task 2024-07-02T14:02:41.446Z] 14:02:41     INFO - TEST-UNEXPECTED-FAIL | browser/components/backup/tests/marionette/test_backup.py BackupTest.test_backup | AssertionError: 0 != 1
[task 2024-07-02T14:02:41.446Z] 14:02:41     INFO - Traceback (most recent call last):
[task 2024-07-02T14:02:41.446Z] 14:02:41     INFO -   File "/opt/worker/tasks/task_171992836689828/build/venv/lib/python3.11/site-packages/marionette_harness/marionette_test/testcases.py", line 198, in run
[task 2024-07-02T14:02:41.446Z] 14:02:41     INFO -     testMethod()
[task 2024-07-02T14:02:41.446Z] 14:02:41     INFO -   File "/opt/worker/tasks/task_171992836689828/build/tests/marionette/tests/browser/components/backup/tests/marionette/test_backup.py", line 198, in test_backup
[task 2024-07-02T14:02:41.446Z] 14:02:41     INFO -     self.verify_recovered_test_login()
[task 2024-07-02T14:02:41.446Z] 14:02:41     INFO -   File "/opt/worker/tasks/task_171992836689828/build/tests/marionette/tests/browser/components/backup/tests/marionette/test_backup.py", line 324, in verify_recovered_test_login
[task 2024-07-02T14:02:41.446Z] 14:02:41     INFO -     self.assertEqual(loginsLength, 1)
[task 2024-07-02T14:02:41.446Z] 14:02:41     INFO - TEST-INFO took 12271ms
[task 2024-07-02T14:02:41.447Z] 14:02:41     INFO -  1719928961399	Marionette	DEBUG	1 -> [0,14,"WebDriver:DeleteSession",{}]
[task 2024-07-02T14:02:41.447Z] 14:02:41     INFO -  1719928961400	Marionette	TRACE	[2] MarionetteCommands actor destroyed for window id 4
[task 2024-07-02T14:02:41.447Z] 14:02:41     INFO -  1719928961400	Marionette	TRACE	[5] MarionetteCommands actor destroyed for window id 6442450945
[task 2024-07-02T14:02:41.447Z] 14:02:41     INFO -  1719928961401	Marionette	DEBUG	1 <- [1,14,null,{"value":null}]
[task 2024-07-02T14:02:41.448Z] 14:02:41     INFO -  1719928961401	Marionette	DEBUG	Closed connection 1
[task 2024-07-02T14:02:41.448Z] 14:02:41     INFO - TEST-START | browser/components/migration/tests/marionette/test_refresh_firefox.py TestFirefoxRefresh.testFxANoSync

Hey sthompson,

It looks like what's going on here is a race. The logins.json file isn't getting flushed to disk before we start the backup. That's a general problem that we might want to solve down the line (I filed bug 1905936) for that.

In the meantime, I suggest updating the test_backup.py test to force a restart after writing the test data, as the shutdown will force a flush:

        # Now restart the browser to force all of the data to have been flushed
        # to disk.
        self.marionette.quit()
        self.marionette.start_session()
        self.marionette.set_context("chrome")

Right around here: https://searchfox.org/mozilla-central/rev/b368ed8b48c0ea8ed2f1948e4776a6fbb5976dff/browser/components/backup/tests/marionette/test_backup.py#45

Restarting the browser at that point of the test does clear up the issue on my local machine.

I applied this change to https://phabricator.services.mozilla.com/D215428 and it is ready for re-review.

Flags: needinfo?(sthompson)
Pushed by mconley@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/5cd8d761b718 Speed up SQLite backup operations r=backup-reviewers,mconley
Status: ASSIGNED → RESOLVED
Closed: 3 months ago
Resolution: --- → FIXED
Target Milestone: --- → 129 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: