Skip to content

Settings sync should debounce requests when a request is in progress #91286

@Tyriar

Description

@Tyriar

On a slow responding server, several requests get fired before proceeding ones have finished. For the following log I think the behavior should be:

[2020-02-24 07:29:36.999] Fire sync request
[2020-02-24 07:29:58.309] Queue a request
[2020-02-24 07:30:06.612] Queue a request (does nothing, one's already queued)
[2020-02-24 07:30:08.798] Queue a request (does nothing, one's already queued)
[2020-02-24 07:30:10.024] Queue a request (does nothing, one's already queued)
[2020-02-24 07:30:12.788] Queue a request (does nothing, one's already queued)
[2020-02-24 07:30:38.955] Queue a request (does nothing, one's already queued)
[2020-02-24 07:31:36.999] Abandon request as it's taken over 2 minutes
[2020-02-24 07:31:36.999] Fire sync request as it has been queued
[2020-02-24 07:31:51.136] Queue a request (does nothing, one's already queued)
[2020-02-24 07:31:52.629] Queue a request (does nothing, one's already queued)
[2020-02-24 07:32:09.359] Queue a request (does nothing, one's already queued)
[2020-02-24 07:32:12.146] Queue a request (does nothing, one's already queued)
...

Actual sync log:

[2020-02-24 07:29:36.999] [userDataSync] [info] Auto Sync: Triggered.
[2020-02-24 07:29:58.309] [userDataSync] [info] Auto Sync: Triggered.
[2020-02-24 07:30:06.612] [userDataSync] [info] Auto Sync: Triggered.
[2020-02-24 07:30:08.798] [userDataSync] [info] Auto Sync: Triggered.
[2020-02-24 07:30:10.024] [userDataSync] [info] Auto Sync: Triggered.
[2020-02-24 07:30:12.788] [userDataSync] [info] Auto Sync: Triggered.
[2020-02-24 07:30:38.955] [userDataSync] [info] Auto Sync: Triggered.
[2020-02-24 07:31:51.136] [userDataSync] [info] Auto Sync: Triggered.
[2020-02-24 07:31:52.629] [userDataSync] [info] Auto Sync: Triggered.
[2020-02-24 07:32:09.359] [userDataSync] [info] Auto Sync: Triggered.
[2020-02-24 07:32:12.146] [userDataSync] [info] Auto Sync: Triggered.
[2020-02-24 07:32:18.444] [userDataSync] [error] Unknown (UserDataSyncError) undefined: Server returned 500
    at d.manifest (file:///C:/Users/daimms.REDMOND/AppData/Local/Programs/Microsoft VS Code Insiders/resources/app/out/vs/code/electron-browser/sharedProcess/sharedProcessMain.js:446:798)
    at async m.sync (file:///C:/Users/daimms.REDMOND/AppData/Local/Programs/Microsoft VS Code Insiders/resources/app/out/vs/code/electron-browser/sharedProcess/sharedProcessMain.js:441:8)
    at async l.sync (file:///C:/Users/daimms.REDMOND/AppData/Local/Programs/Microsoft VS Code Insiders/resources/app/out/vs/code/electron-browser/sharedProcess/sharedProcessMain.js:431:979)
[2020-02-24 07:32:26.674] [userDataSync] [error] Unknown (UserDataSyncError) undefined: Server returned 500
    at d.manifest (file:///C:/Users/daimms.REDMOND/AppData/Local/Programs/Microsoft VS Code Insiders/resources/app/out/vs/code/electron-browser/sharedProcess/sharedProcessMain.js:446:798)
    at async m.sync (file:///C:/Users/daimms.REDMOND/AppData/Local/Programs/Microsoft VS Code Insiders/resources/app/out/vs/code/electron-browser/sharedProcess/sharedProcessMain.js:441:8)
    at async l.sync (file:///C:/Users/daimms.REDMOND/AppData/Local/Programs/Microsoft VS Code Insiders/resources/app/out/vs/code/electron-browser/sharedProcess/sharedProcessMain.js:431:979)
[2020-02-24 07:32:28.864] [userDataSync] [error] Unknown (UserDataSyncError) undefined: Server returned 500
    at d.manifest (file:///C:/Users/daimms.REDMOND/AppData/Local/Programs/Microsoft VS Code Insiders/resources/app/out/vs/code/electron-browser/sharedProcess/sharedProcessMain.js:446:798)
    at async m.sync (file:///C:/Users/daimms.REDMOND/AppData/Local/Programs/Microsoft VS Code Insiders/resources/app/out/vs/code/electron-browser/sharedProcess/sharedProcessMain.js:441:8)
    at async l.sync (file:///C:/Users/daimms.REDMOND/AppData/Local/Programs/Microsoft VS Code Insiders/resources/app/out/vs/code/electron-browser/sharedProcess/sharedProcessMain.js:431:979)
[2020-02-24 07:32:30.082] [userDataSync] [error] Unknown (UserDataSyncError) undefined: Server returned 500
    at d.manifest (file:///C:/Users/daimms.REDMOND/AppData/Local/Programs/Microsoft VS Code Insiders/resources/app/out/vs/code/electron-browser/sharedProcess/sharedProcessMain.js:446:798)
    at async m.sync (file:///C:/Users/daimms.REDMOND/AppData/Local/Programs/Microsoft VS Code Insiders/resources/app/out/vs/code/electron-browser/sharedProcess/sharedProcessMain.js:441:8)
    at async l.sync (file:///C:/Users/daimms.REDMOND/AppData/Local/Programs/Microsoft VS Code Insiders/resources/app/out/vs/code/electron-browser/sharedProcess/sharedProcessMain.js:431:979)
[2020-02-24 07:32:32.854] [userDataSync] [error] Unknown (UserDataSyncError) undefined: Server returned 500
    at d.manifest (file:///C:/Users/daimms.REDMOND/AppData/Local/Programs/Microsoft VS Code Insiders/resources/app/out/vs/code/electron-browser/sharedProcess/sharedProcessMain.js:446:798)
    at async m.sync (file:///C:/Users/daimms.REDMOND/AppData/Local/Programs/Microsoft VS Code Insiders/resources/app/out/vs/code/electron-browser/sharedProcess/sharedProcessMain.js:441:8)
    at async l.sync (file:///C:/Users/daimms.REDMOND/AppData/Local/Programs/Microsoft VS Code Insiders/resources/app/out/vs/code/electron-browser/sharedProcess/sharedProcessMain.js:431:979)
[2020-02-24 07:32:59.021] [userDataSync] [error] Unknown (UserDataSyncError) undefined: Server returned 500
    at d.manifest (file:///C:/Users/daimms.REDMOND/AppData/Local/Programs/Microsoft VS Code Insiders/resources/app/out/vs/code/electron-browser/sharedProcess/sharedProcessMain.js:446:798)
    at async m.sync (file:///C:/Users/daimms.REDMOND/AppData/Local/Programs/Microsoft VS Code Insiders/resources/app/out/vs/code/electron-browser/sharedProcess/sharedProcessMain.js:441:8)
    at async l.sync (file:///C:/Users/daimms.REDMOND/AppData/Local/Programs/Microsoft VS Code Insiders/resources/app/out/vs/code/electron-browser/sharedProcess/sharedProcessMain.js:431:979)

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions