mirror of
https://github.com/infiniflow/ragflow.git
synced 2026-05-22 17:08:23 +08:00
## Summary Fixes #13996 Replace `json.load(open(...))` with `with open(...) as f: json.load(f)` in two files to ensure file descriptors are properly closed. **Affected files:** - `common/doc_store/infinity_conn_base.py` — schema loading for Infinity doc store - `api/db/init_data.py` — agent template loading at startup ## Why this matters In a long-running server process like RAGFlow, leaked file descriptors from `json.load(open(...))` can accumulate over time. While CPython's refcounting usually cleans these up, it's not guaranteed (especially under memory pressure or with alternative Python runtimes), and can lead to `OSError: [Errno 24] Too many open files`. ## Test plan - [ ] Verify Infinity doc store schema loading still works correctly - [ ] Verify agent templates load correctly on startup <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Refactor** * Improved file handling in internal data processing to ensure proper resource cleanup. <!-- end of auto-generated comment: release notes by coderabbit.ai --> Co-authored-by: easonysliu <easonysliu@tencent.com> Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>