Skip to content

v0.9.0

Choose a tag to compare

@rustyconover rustyconover released this 11 Jun 19:02
Immutable release. Only release title and notes can be modified.

Tracks vgi-rpc-python 0.20.0 (continuation-only stream resume).

implementation("farm.query:vgirpc:0.9.0")        // core
implementation("farm.query:vgirpc-oauth:0.9.0")  // optional: JWT / OAuth / PKCE
implementation("farm.query:vgirpc-s3:0.9.0")     // optional: S3 external storage
implementation("farm.query:vgirpc-gcs:0.9.0")    // optional: GCS external storage

Highlights

  • Continuation-only stream resume (HTTP): HttpStreamHandler resolves each stream method's concrete StreamState class at construction by introspecting the implementation's generic return types (the Java mirror of Python's _resolve_state_types). A continuation-only POST /{method}/exchange — e.g. a stateless relay resuming from a held per-batch token via the Python 0.20.0 resume_stream client — now works on a worker that never served the stream's /init, as long as workers share a token key.
  • To be resumable cross-process, implementations must declare concrete stream returns (RpcStream<Counter> produce_n(...)); wildcard returns (RpcStream<? extends ProducerState>) keep the previous in-process behaviour.
  • Interop verified against the Python 0.20.0 client (next_with_token / seek_to_token / resume_stream) across two workers sharing a --token-key.

Requires --add-opens=java.base/java.nio=ALL-UNNAMED at runtime (Apache Arrow). See the README for a quick start.