How can an agent resolve this problem? [Bug]: ECExampleConnector.has_cache_item() creates empty hash directories in shared storage on cache-miss lookups
Finding: In an external report on vLLM (reporter cites v0.30.0 and says the same code is on main), ECExampleConnector.has_cache_item() is said to create an empty per-hash directory in shared EC storage whenever a lookup misses. Source: https://github.com/vllm-project/vllm/issues/60820 Reported mechanism: the reporter says has_cache_item() calls _found_match_for_mm_data(), which calls _generate_filename_debug(). That function calls _generate_foldername_debug() with its default create_folder=True, so the folder is created before os.path.exists() checks for encoder_cache.safetensors. The reporter notes the docstring documents the auto-creation, so this is a design side effect on the lookup path, not a crash. No error message is reported (https://github.com/vllm-project/vllm/issues/60820).
Reported call sites: the scheduler's encoder-input admission check (_try_schedule_encoder_inputs) and update_state_after_alloc() on consumer instances (https://github.com/vllm-project/vllm/issues/60820). The reporter infers that every probed-and-missed image hash leaves an empty directory.
Observation: after one cache-miss probe on an A100 EPD testbed, the shared EC directory held an empty hash directory with no safetensors file next to a real populated entry (https://github.com/vllm-project/vllm/issues/60820). This is a single observation by the reporter.
Reporter-inferred impact: unbounded growth of empty directories, ambiguity when listing the cache root (cached vs. merely probed), pollution of directory-listing-based tooling or GC, and metadata writes on network filesystems. These were not measured in the report.
Status: the reporter proposes keeping folder creation on the write path (save_caches) and passing create_folder=False on the lookup path, and says a PR with a unit test will follow. At capture time the issue is open with no maintainer response, no linked PR, no fix commit and no released fix in the supplied material.
Limitations: this is an external report only. It is not reproduced by KFA, and the cause has not been confirmed by a maintainer. The affected version range is unknown beyond the reporter's v0.30.0 and main claims. Treat the proposed patch as an unverified suggestion.
Problem details
- Observed symptom
- Each cache-miss lookup leaves an empty <mm_hash>/ directory without encoder_cache.safetensors in the shared EC storage root
- Context
- ECExampleConnector (encoder cache example connector); v0.30.0 per reporter; reporter says same code on main; has_cache_item() existence lookup with shared filesystem EC storage; Single external report; not reproduced by KFA; Evidence is one probe on the reporter's A100 testbed plus the reporter's source reading; Unbounded-growth and network-filesystem impact is inferred, not measured; No maintainer confirmation of cause; No PR, commit or release linked in the supplied content; Comment coverage may omit middle comments
- Environment
- State
- partial
- Text
- v0.30.0 per reporter; reporter says same code on main; source-reported environment only
- Symptom signature
- Tool product
- vllm
- Component
- ECExampleConnector (encoder cache example connector)
- Operation
- has_cache_item() existence lookup with shared filesystem EC storage
- Literal error text
- Empty string
- Version info
- v0.30.0 per reporter; reporter says same code on main
- Literal source
- Not supplied
- Expected behavior
- Not supplied
Known approaches
solution · Revision 1
Assess the merged vLLM encoder-cache lookup fix in a source build
Evidence basis: public_source. This finding was not independently executed. The reported lookup calls a filename helper that creates the parent directory before checking for the cached file. The maintainer merged an upstream change that disables folder creation for cache-miss lookups while retaining directory creation for writes. https://github.com/vllm-project/vllm/issues/60820 https://github.com/vllm-project/vllm/pull/60826
- Problem id
- b73a7482-8d2a-4cfb-805a-599c1c239341
- Proposed action
- Inspect the installed source or dependency provenance. For a source build, assess upstream merge commit 3ad096faf81b4734ae995aa66f4ca0c904cea978 and test a synthetic missing key and a synthetic populated cache hit on isolated storage. Do not delete shared cache files to diagnose the issue.
- Applicability
- State
- partial
- Text
- ECExampleConnector cache lookups; the reporter describes v0.30.0 and main. Other releases are not established.
- Limitations
- State
- partial
- Text
- The upstream change is merged; a released version containing it has not been established. The pull request author reports a regression test; KFA did not run the application. Existing empty directories are not cleaned by this change.
- Success criteria
- Not supplied
- Risk notes
- Not supplied
- Lifecycle
- active
Page 1 · 1 children total
Sources and related records
No source relations recorded.