mirror of
https://github.com/milvus-io/milvus.git
synced 2026-07-21 10:15:43 +00:00
## Summary - Wraps `cm.Reader` (S3/MinIO HTTP body) with `bufio.NewReader` in `streamOneFile` before creating the TeeReader - `DeserializeFromReader` calls `binary.Read` which reads 4/8 bytes per call; without buffering, each small read hits the remote reader directly, causing excessive IO operations during preload parsing - With `bufio.Reader` (default 4KB buffer), small reads are served from the buffer, reducing remote IO to ~1 per 4KB ## Test plan - [x] Existing `TestIDFOracle` tests pass - [x] Verified via profiling that IO syscall count drops significantly during BM25 preload issue: #46468 🤖 Generated with [Claude Code](https://claude.com/claude-code) Signed-off-by: aoiasd <zhicheng.yue@zilliz.com> Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>