docs(rfc): rfc 0023 — bounded template memory (rfc 0001 amendment) - #352
Conversation
…§9.10 scale-run record The 2026-07-04 scale-run finding: the miner mints templates without bound (≥56k on 1.8 GiB of HDFS_v2; 31.5 GiB RSS OOM at 16 GiB). Three MinerConfig bounds (max_node_children, max_templates, max_line_tokens) with one overflow rule: parse-failure with body retained, never force-merge (§3.1). benchmarks.md §9.10 records the attempted authoritative run and the partial diagnostics. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
|
Warning Review limit reached
Next review available in: 52 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
📝 WalkthroughWalkthroughAdds RFC 0023 proposing bounded per-tenant template memory limits ( ChangesDocumentation Additions
Estimated code review effort: 2 (Simple) | ~10 minutes Related PRs: None mentioned. Suggested labels: documentation, rfc Suggested reviewers: None specified. PoemA rabbit hops through docs anew, 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Pull request overview
This PR adds a new documentation RFC (RFC 0023) proposing bounded memory behavior for the template miner, motivated by an OOM observed during a 16 GiB LogHub HDFS_v2 scale run, and records the benchmark finding that led to the RFC.
Changes:
- Adds RFC 0023 describing three
MinerConfigbounds (max_node_children,max_templates,max_line_tokens) with a “fail-honest, never force-merge” overflow rule. - Links RFC 0023 into the mdbook navigation.
- Documents the 2026-07-04 scale-run result as
docs/benchmarks.md§9.10 and ties it to RFC0023.7.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| docs/SUMMARY.md | Adds RFC 0023 to the mdbook TOC. |
| docs/rfcs/0023-bounded-template-memory.md | New RFC draft defining bounded template memory design + acceptance criteria/testing strategy. |
| docs/benchmarks.md | Adds §9.10 describing the blocked 16 GiB run and the miner OOM finding motivating RFC 0023. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
…markdown) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Drafts RFC 0023 in response to the 2026-07-04 scale-run finding (recorded alongside as
docs/benchmarks.md§9.10): the miner mints templates without bound — ≥56k templates by the 1.8 GiB mark of LogHub HDFS_v2's Hadoop daemon logs, ~linear memory at ≈2× corpus bytes, OOM-killed at 31.5 GiB RSS mining the 16 GiB corpus on the hardware baseline. The production ingester shares the path, so a single tenant's log shape can OOM a pod (hazards #1/#2).Design: three
MinerConfigbounds —max_node_children(100, Drain3's mechanism),max_templates(20k per tenant),max_line_tokens(512) — with a single overflow rule everywhere: parse-failure with body retained, never force-merge (§3.1 held load-bearing). Drain3's LRU eviction is explicitly rejected for v1 (evicting ids already written to Parquet breaks the RFC 0017 registry); telemetry rides the existingparse_failurescounter with areasonattribute per the error.type convention.§5 pins seven scenarios; RFC0023.7 is the falsifier — this exact HDFS_v2 run completing under 8 GiB peak RSS, or the design reopens.
Docs-only (
mdbook buildverified). Statusdrafted— flipping tospecifiedis the maintainer's §5-criteria sign-off; per §5.3 implementation holds for explicit go.🤖 Generated with Claude Code
Summary by CodeRabbit