docs(clients): ReadBulk timeout is one shared deadline for the command, not per tag

Stream E made the worker wait once for all uncached tags. Fix the Go, Python, Rust, Java
and .NET library docs and CLI help text, the proto comment (default is the worker's
1000 ms), and the worker design doc. Regenerated Contracts Generated/ and the Java
generated protos; both diffs are comment-only.
This commit is contained in:
Joseph Doherty
2026-10-22 08:46:29 -04:00
parent 3ffba83723
commit dd623356f4
13 changed files with 57 additions and 33 deletions
@@ -448,8 +448,10 @@ class Session:
``OnDataChange`` value for any tag that is already advised (``was_cached =
True``) without modifying the existing subscription, and falls back to
a full AddItem + Advise + wait + UnAdvise + RemoveItem snapshot lifecycle
otherwise. ``timeout_ms`` bounds the per-tag wait in the snapshot case;
pass ``0`` to use the worker default (1000 ms).
otherwise. ``timeout_ms`` is one shared deadline for the whole command,
not a per-tag budget: the worker advises every uncached tag, waits once
for all of them, then tears them down. Pass ``0`` to use the worker
default (1000 ms).
"""
if tag_addresses is None:
raise TypeError("tag_addresses is required")
@@ -392,7 +392,7 @@ def unsubscribe_bulk(**kwargs: Any) -> None:
@click.option("--server-handle", required=True, type=int, help="MXAccess server handle.")
@click.option("--items", required=True, help="Comma-separated MXAccess tag addresses.")
@click.option("--timeout-ms", default=0, type=int, show_default=True,
help="Per-tag snapshot timeout in milliseconds. 0 = worker default.")
help="Snapshot deadline in milliseconds, shared by all tags in the command. 0 = worker default (1000 ms).")
@click.option("--correlation-id", default="", help="Client correlation id.")
@click.option("--json", "output_json", is_flag=True, help="Emit JSON output.")
def read_bulk(**kwargs: Any) -> None: