-
Notifications
You must be signed in to change notification settings - Fork 1.3k
~Actor<O> is blocking #2644
Comments
This is by design. |
Worker tasks should be designed to check a flag in inner loops and exit early if the flag indicates the task has been cancelled. Most do; the exception I see is |
And I like the design here because protects us from bugs that are very difficult to debug that haunted us in the past. On #3636 suggested a special deleter for |
This is resurfacing: When parsing tiles, we're checking a flag after parsing every feature whether we still need the tile. However, our landuse layer, in particular on zoom level 7, contains some very complex features that take > 1 second to parse in their call to clipper + libtess2. These tasks are not interruptible. We should do two things:
/cc @mourner |
It should be safe to change this now. |
This issue has been automatically detected as stale because it has not had recent activity and will be archived. Thank you for your contributions. |
When canceling a
WorkTask
, we block until that task has completed its entire invocation. This isn't something we should do. You can make this behavior more visible when adding asleep(4)
in a worker task, (e.g. inTileWorker::parse()
). Panning fast now stalls heavily, as partial work requests are getting canceled./cc @jfirebaugh
The text was updated successfully, but these errors were encountered: