Fix serve
exiting prematurely
#3562
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.
Important
We discussed internally that we want to merge this fix only after the Tenzir v4.3 release, as we want to have some time to double-check whether there are any other fallouts of the change.
Pipelines ending with
serve
should wait until all events are fetched from the corresponding/serve
endpoint. This was not always the case because of an incorrectly set scope in the operator.Fixing that scope, however, led to the operator deadlocking the node under some circumstances. This revealed a bug at the very core of CAF's scheduling logic, which incorrectly blocked not just ordinary but also system messages from arriving when a request response was awaited. I got that bug fixed upstream and backported the fix to our bundled fork of CAF 0.18. That in turn revealead us relying on the broken behavior in our execution nodes accidentally. I've included a fix for that as well.