Insights streaming search prototype
Created by: coury-clark
Closes #29879 (closed)
Implements a new generation method search-stream
that will utilize the streaming API over GraphQL. This will allow us to test the two in parallel prior to 3.37.
As part of this, I refactored the work_handler
queue receiver to delegate tasks based on the generation_method
directly, rather than ad-hoc branches.
Just from local testing the results seem really promising:
- Queries that fail against
sgtest/megarepo
with GraphQL succeed extremely quickly - The results on the series I've tested so far match very well (or streaming is higher due to undercounted GraphQL queries)
Error handling is going to take some figuring out. The entire model of errors is different from the streaming API, so we will need to work out what constitutes a failure. In this PR, none of streaming queries will fail due to errors in the response, only network / infrastructural errors.