Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bailout in sync task if work is not sync #20813

Merged
merged 1 commit into from
Feb 16, 2021

Commits on Feb 12, 2021

  1. Bailout in sync task if work is not sync

    Because we don't cancel synchronous tasks, sometimes more than one
    synchronous task ends up being scheduled. This is an artifact of the
    fact that we have two different lanes that schedule sync tasks: discrete
    and sync. So what can happen is that a discrete update gets scheduled,
    then a sync update right after that. Because sync is encoded as higher
    priority than discrete, we schedule a second sync task. And since we
    don't cancel the first one, there are now two separate sync tasks.
    
    As a next step, what we should do is merge InputDiscreteLane with
    SyncLane, then (I believe) this extra bailout wouldn't be necessary,
    because there's nothing higher priority than sync that would cause us to
    cancel it. Though we may want to add logging to be sure.
    acdlite committed Feb 12, 2021
    Configuration menu
    Copy the full SHA
    4e86167 View commit details
    Browse the repository at this point in the history