Batch protocol helpers for MilvusMemoryStore.
Batch protocol helpers for MilvusMemoryStore.
(gather fetch colls ids)Fold a batch get over colls, ids read in pages of page-size, through
FETCH ((fn [coll ids] rows)). First hit per :id wins, in collection order
(the default 768-d collection comes first, so legacy entries take
precedence over orphaned post-migration duplicates).
A collection that does not exist (lookup/missing-collection?) answered:
it holds nothing. Any other failure of a page is recorded, never read as
absence. Returns the raw rows when every page answered, else
(r/err :milvus/read-incomplete {:failed [{:collection :message :ids n}] :partial rows}).
Pure apart from FETCH.
Fold a batch get over `colls`, `ids` read in pages of `page-size`, through
FETCH (`(fn [coll ids] rows)`). First hit per :id wins, in collection order
(the default 768-d collection comes first, so legacy entries take
precedence over orphaned post-migration duplicates).
A collection that does not exist (`lookup/missing-collection?`) answered:
it holds nothing. Any other failure of a page is recorded, never read as
absence. Returns the raw rows when every page answered, else
`(r/err :milvus/read-incomplete {:failed [{:collection :message :ids n}] :partial rows})`.
Pure apart from FETCH.(get-entries config-atom ids)IMemoryStoreBatch: the entries under ids that exist, in no promised
order; nil when no non-nil id is asked for. Ids are read in pages of
page-size, each under a deadline scaled to the page (page-deadline-ms),
so a large ask is not one get that times out. A page that a collection
could not answer makes the result an error Result
(:milvus/read-incomplete, see gather), never a short vector that reads
as 'these ids do not exist'.
IMemoryStoreBatch: the entries under `ids` that exist, in no promised order; nil when no non-nil id is asked for. Ids are read in pages of `page-size`, each under a deadline scaled to the page (`page-deadline-ms`), so a large ask is not one get that times out. A page that a collection could not answer makes the result an error Result (`:milvus/read-incomplete`, see `gather`), never a short vector that reads as 'these ids do not exist'.
Allowance per id of a get that returns content (measured about 22 ms).
Allowance per id of a get that returns content (measured about 22 ms).
(page-deadline-ms n)Deref bound for a get of n ids: the base deadline plus get-row-cost-ms
per id, capped by budget/read-deadline-cap-ms.
Deref bound for a get of `n` ids: the base deadline plus `get-row-cost-ms` per id, capped by `budget/read-deadline-cap-ms`.
Ids per Milvus get. Measured 2026-10-12: 50 ids answered in 1.1 s, while 200 or more passed the 5 s deref budget and came back as nothing.
Ids per Milvus get. Measured 2026-10-12: 50 ids answered in 1.1 s, while 200 or more passed the 5 s deref budget and came back as nothing.
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |