[Bug]: ClusterStorage.get return annotations exclude valid None results

Open Beginner friendly
#17,977 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
84/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Quiet
Tech stack
python

Research direction

Start in tensorrt_llm/serve/cluster_storage.py and inspect the shared ClusterStorage.get() contract plus the HTTP server/client and etcd implementations mentioned in the issue. Update only the return annotations so each accepts None, then verify that the declarations consistently use str | None and that runtime behavior is unchanged.

Written by the indexing model from the issue text.

Description

LLM API
System Info

Static Python API contract in tensorrt_llm/serve/cluster_storage.py on current main.

Reproduction

ClusterStorage.get() and its concrete implementations are annotated as returning str, but their existing behavior returns None for missing or expired keys. The etcd implementation can also return None through @handle_etcd_error(return_on_error=None).

Affected declarations include the shared ClusterStorage.get() contract and the HTTP server/client and etcd implementations.

Expected behavior

Annotate the shared declaration and all concrete get() implementations as str | None, matching the existing runtime contract. This should be a type-only cleanup with no behavior change.

Actual behavior

The annotations currently promise str even though None is an established result for missing, expired, and some error cases.

Additional notes

Surfaced while reviewing #17771. Kept separate because the mismatch predates that PR and is broader than its empty-etcd-value fix.

Dominant language
Python
Stars
14.7k
Forks
2.8k
Avg merge
3d 3h
Merged PRs (30d)
493

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from NVIDIA/TensorRT-LLM

All issues in NVIDIA/TensorRT-LLM

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.