Run the receive-queue workers without bindings #709
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I noticed that our traces for
invalidator/work
were including a lot of extra spans past the end of the top-level trace. This happens because we start the worker in anon-add
callback togrouped-queue/put!
, so it was inheriting the parent span from the bindings.Now we have a new type of virtual future that doesn't propagate bindings. That gives our workers a bit more isolation. I also gave them their own virtual thread executor--doesn't do much now, but it would let us more thoroughly "shutdown" a grouped-queue in the future.
Much easier to review with whitespace off: https://github.com/instantdb/instant/pull/709/files?w=1