-
Notifications
You must be signed in to change notification settings - Fork 1.9k
DS-631 Observation loop #18843
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
Merged
Merged
DS-631 Observation loop #18843
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
ro-tex
commented
Aug 8, 2025
brunotm
reviewed
Aug 12, 2025
… cache and starts the background loop.
408b825 to
df9adbe
Compare
jmank88
previously approved these changes
Aug 21, 2025
|
jmank88
approved these changes
Aug 22, 2025
justinfranco
approved these changes
Aug 22, 2025
krehermann
added a commit
that referenced
this pull request
Aug 22, 2025
This reverts commit 9d6bd73.
krehermann
added a commit
that referenced
this pull request
Aug 22, 2025
This reverts commit 9d6bd73.
akuzni2
added a commit
that referenced
this pull request
Aug 22, 2025
ro-tex
added a commit
that referenced
this pull request
Aug 25, 2025
brunotm
pushed a commit
that referenced
this pull request
Aug 25, 2025
* Remove seqNr eviction policy from the observation cache. * Perform observations in a loop. * Adjust tests to endlessly looping observations. * Minor adjustments. * Lint * Fix data race * Rollback changes and try a simpler approach - Observe() only uses the cache and starts the background loop. * Remove the concurrency from Observe(). * Fix the tests. * Lint * We don't need that defere, that was the whole point of moving it. * wip * Clean up logging. Mock the OutputCodec. * Address lint issues. * Fix context lifetime, add closer implementation. * Pointer receiver. * concurrency fixes * add comment for values copy * bump * ensure maxObservationDuration is respected, add metrics * lint fix * w * setObservableStreams * Test race * Remove the temporary version bump. * Clean up the close. * Use a context based on the stop channel. * lint --------- Co-authored-by: Bruno Moura <brunotm@gmail.com> llo/observation: ensure close waits for the observation loop to complete
HashWrangler
pushed a commit
that referenced
this pull request
Aug 25, 2025
ro-tex
added a commit
that referenced
this pull request
Sep 4, 2025
github-merge-queue bot
pushed a commit
that referenced
this pull request
Sep 4, 2025
* Revert "Handle nil opts, no observable streams or other errors in observation loop (#19105)" This reverts commit f09f384. * Revert "Reapply "DS-631 Observation loop (#18843)" (#19079) (#19086)" This reverts commit 0b1cc20. * Reapply "DS-631 Observation loop (#18843)" (#19079) This reverts commit 81ebe55. * Revert "DS-631 Observation loop (#18843)" This reverts commit 9d6bd73.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.




This PR decouples making observations on individual streams and populating them into the cache from the Observe action. The individual stream observations happen on a background thread, in a loop. This keeps the internal cache warm all the time and as a result of that, the Observe action always uses cached values and completes without waiting for any external calls.
Requires
Supports