gRPC transport for milvus-clj.client. Wraps io.milvus/milvus-sdk-java.
Responsibilities:
open fn).IMilvusCore + IMilvusAdmin + IMilvusExtras via a
GrpcClient defrecord that holds the service client and its own
config for lifecycle.client/classify-error.Keepalive defaults are tuned for fragile intermediaries (tailscale
userspace netstack, cloud NAT). keepAliveWithoutCalls(true) is the
critical bit: without it gRPC only pings during active RPCs, so idle
clients die silently with
UNAVAILABLE: Keepalive failed. The connection is likely gone.
This ns is loaded lazily via requiring-resolve from
milvus-clj.client/make, so the gRPC Java SDK classes are only
loaded when the gRPC transport is actually selected.
gRPC transport for `milvus-clj.client`. Wraps `io.milvus/milvus-sdk-java`.
Responsibilities:
- Build a MilvusServiceClient from config (the `open` fn).
- Implement `IMilvusCore` + `IMilvusAdmin` + `IMilvusExtras` via a
`GrpcClient` defrecord that holds the service client and its own
config for lifecycle.
- Translate ex-info-tagged errors for `client/classify-error`.
Keepalive defaults are tuned for fragile intermediaries (tailscale
userspace netstack, cloud NAT). `keepAliveWithoutCalls(true)` is the
critical bit: without it gRPC only pings during active RPCs, so idle
clients die silently with
`UNAVAILABLE: Keepalive failed. The connection is likely gone`.
This ns is loaded lazily via `requiring-resolve` from
`milvus-clj.client/make`, so the gRPC Java SDK classes are only
loaded when the gRPC transport is actually selected.(classify ex)Classify a gRPC-thrown exception. Returns one of :connection-failure — channel dead, reconnect needed :retryable — transient, retry in place :fatal — schema / auth / caller bug
Classify a gRPC-thrown exception. Returns one of :connection-failure — channel dead, reconnect needed :retryable — transient, retry in place :fatal — schema / auth / caller bug
Map keyword → Milvus ConsistencyLevelEnum.
Public so milvus-clj.api can re-export for backward compat.
Map keyword → Milvus ConsistencyLevelEnum. Public so `milvus-clj.api` can re-export for backward compat.
(open opts)Build a GrpcClient from the config map.
Reads agnostic keys (:host, :port, :token, :database) from the
top level and gRPC-specific keys from (:grpc opts).
Pool modes:
:pool :ephemeral (default) — one channel for the record's
lifetime. The record is meant to be short-lived (per-batch via
with-client).:pool :shared — one channel kept alive for the JVM's lifetime,
periodically rebuilt via the recycler. Set :recycle-ms in
(:grpc opts) to enable; nil disables.Stack 1 (the recycler) is dormant by default. Only used in
:pool :shared mode where it earns its keep — for ephemeral lifetimes
the record dies in seconds and the recycler would never fire.
Build a `GrpcClient` from the config map.
Reads agnostic keys (`:host`, `:port`, `:token`, `:database`) from the
top level and gRPC-specific keys from `(:grpc opts)`.
Pool modes:
- `:pool :ephemeral` (default) — one channel for the record's
lifetime. The record is meant to be short-lived (per-batch via
`with-client`).
- `:pool :shared` — one channel kept alive for the JVM's lifetime,
periodically rebuilt via the recycler. Set `:recycle-ms` in
`(:grpc opts)` to enable; nil disables.
Stack 1 (the recycler) is dormant by default. Only used in
`:pool :shared` mode where it earns its keep — for ephemeral lifetimes
the record dies in seconds and the recycler would never fire.(resolve-consistency kw)Resolve keyword to ConsistencyLevelEnum. Nil means use collection default.
Resolve keyword to ConsistencyLevelEnum. Nil means use collection default.
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 |