[Bug]: ClusterStorage.get return annotations exclude valid None results
Nobody has claimed this yet.
- 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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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