NVIDIA / NVIDIA/TensorRT-LLM

[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.

LLM API
Dominant language
Python
Stars
14.7k
Forks
2.8k
Avg merge
2d 23h
Merged PRs (30d)
489

Description

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.

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.

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.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.