This PR adds the Get Vectors() RPC for query nodes.
Adds the GetVectors instrumented rpc call and associated types
Adds a GetVectorsOrchestrator for managing these queries
Adds the GetVectorsOperator for reading from the log and record segment to respond to get_vectors
Moves common orchestrator functions into a /common and refactors hnsw orchestrator to use this instead (DRY)
Adds the ChromaError Trait for ChannelError in Sender - needed to use that as Box elsewhere.
I explicitly make the choice to not have to materialize in this operator since it doesn't need to for any reason.
Tasks
[x] Stub out
[x] Types
[x] Implement return
[x] Server input parse
[x] Server output parse
[x] Init segments
[x] Pull log + filter
[x] Operator for reading
[x] Add test (Will handle in separate PR)
[x] Validate that the get() semantics for missing ids is correct (I have validated that the semantics are the same - we just ignore invalid entries in the output)
This PR adds the Get Vectors() RPC for query nodes.
ChromaError
Trait for ChannelError in Sender - needed to use that as BoxI explicitly make the choice to not have to materialize in this operator since it doesn't need to for any reason.
Tasks