-
Natalie Serrino authored
PP-2117: When Kelvin is executing a streaming plan, don't call the batch API when the query completes. Summary: Currently, there are two APIs for Kelvin sending results to the query broker: TransferResultChunk and ReceiveAgentQueryResult. TransferResultChunk is streaming and will subsume ReceiveAgentQueryResult, which is batch. The query broker has changes to receive results from both, but this Kelvin change is needed so that we only call the ReceiveAgentQueryResult API in situations where the Kelvin plan produces a memory sink. ReceiveAgentQueryResult reads memory sinks, but in the new streaming API, the sinks will send the data directly to the query broker as GRPC sinks. As a result, during the temporary phase where we support both APIs, we differentiate between which API to use to send the results based on whether or not there are memory sinks in the final plan. Afterwards, ReceiveAgentQueryResult will be fully deprecated and a lot of this code will go away. Also, deprecated query_str fully from the execute query request, because it is no longer used anywhere. Test Plan: added unit test Reviewers: zasgar, michelle, philkuz, #engineering Reviewed By: zasgar, #engineering JIRA Issues: PP-2117 Differential Revision: https://phab.corp.pixielabs.ai/D5961 GitOrigin-RevId: ae680d647a895adbc965e8b2b36c693534bb9656
4fe9466e