Skip to content

Commit 7af70f0

Browse files
committed
docs(issue-31): finalize closure notes
Update ISSUE-29 with the final HTTP/3 rationale and protocol boundary clarification. Mark ISSUE-31 closure criteria complete and add a conclusion explaining why rollback is not indicated. Refs: #31
1 parent 3298ab3 commit 7af70f0

2 files changed

Lines changed: 37 additions & 8 deletions

File tree

docs/issues/ISSUE-29-research-high-cpu-load-after-udp-fix.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,14 @@ step.
109109
**Update (2026-05-07): superseded by [#31](https://github.com/torrust/torrust-tracker-demo/issues/31),
110110
which re-enables edge HTTP/3 as a product-capability choice with rollback triggers.**
111111

112+
Clarification after [#31](https://github.com/torrust/torrust-tracker-demo/issues/31):
113+
114+
- Disabling HTTP/3 did **not** reduce host CPU load or remove the softirq hotspot.
115+
- Re-enabling `443:443/udp` was done to restore edge HTTP/3 capability for present and future
116+
clients, not as a CPU-tuning change.
117+
- Edge HTTP/3 on Caddy does **not** require native HTTP/3 support in backend services; Caddy can
118+
terminate QUIC at the edge while continuing to proxy HTTP traffic to tracker and Grafana.
119+
112120
Execution and immediate post-change checks are recorded in
113121
`docs/issues/evidence/ISSUE-29/01-phase2-disable-http3-execution.md`.
114122

@@ -158,6 +166,13 @@ application stack unchanged.
158166
- [x] A documented decision exists on whether `443:443/udp` should remain enabled for HTTP/3.
159167
**Historical decision: keep HTTP/3 disabled. Superseded by [#31](https://github.com/torrust/torrust-tracker-demo/issues/31)
160168
(re-enable with controlled observation and rollback criteria).**
169+
- [x] The issue records that disabling HTTP/3 did not materially reduce CPU load.
170+
**Result: no meaningful CPU improvement was observed at T+1h or T+next-day checkpoints.**
171+
- [x] The issue records why HTTP/3 was re-enabled.
172+
**Reason: restore edge capability/future compatibility, with rollback triggers if resource
173+
cost or availability regresses.**
174+
- [x] The issue records that edge HTTP/3 is independent from backend native HTTP/3 support.
175+
**Caddy terminates HTTP/3 at the edge and continues proxying HTTP to backend services.**
161176
- [x] A documented decision exists on whether RPS/RFS should be deployed permanently.
162177
**Decision: keep RPS/RFS enabled. It consistently removed the one-core
163178
softirq hotspot at immediate, T+1h, and T+next-day checkpoints.**

docs/issues/ISSUE-31-reenable-caddy-http3-and-document-rationale.md

Lines changed: 22 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,8 @@ the rollback in evidence:
8080
`docs/issues/evidence/ISSUE-31/02-next-day-snapshot.md`.
8181
- Strict sustained-24h CPU/load trigger evaluation is currently inconclusive due
8282
to host restart between checkpoints (new uptime window).
83+
- ISSUE-29 has been updated to record the re-enable rationale and clarify that
84+
edge HTTP/3 does not require backend native HTTP/3 support.
8385

8486
## Implementation Plan
8587

@@ -89,19 +91,31 @@ the rollback in evidence:
8991
- [x] Capture immediate post-change metrics: `mpstat`, `docker stats`, Prometheus HTTP1/UDP1
9092
rates, and `newtrackon.com/raw` sample.
9193
- [x] Capture T+next-day checkpoint with the same metrics.
92-
- [ ] Evaluate rollback triggers; if triggered, revert and record evidence.
93-
- [ ] Update ISSUE-29 text to explain why the earlier disablement is being reversed now.
94-
- [ ] Ensure ISSUE-29 states backend services do not need native HTTP/3 for edge HTTP/3 support.
95-
- [ ] Run `./scripts/lint.sh` and fix any markdown/cspell issues.
94+
- [x] Evaluate rollback triggers; if triggered, revert and record evidence.
95+
- [x] Update ISSUE-29 text to explain why the earlier disablement is being reversed now.
96+
- [x] Ensure ISSUE-29 states backend services do not need native HTTP/3 for edge HTTP/3 support.
97+
- [x] Run `./scripts/lint.sh` and fix any markdown/cspell issues.
9698

9799
## Acceptance Criteria
98100

99101
- [x] Caddy HTTP/3 edge capability is re-enabled via `443:443/udp` mapping.
100102
- [x] Immediate, T+1h, and T+next-day evidence snapshots are recorded.
101-
- [ ] No rollback trigger is met during the observation window, or rollback is executed and
103+
- [x] No rollback trigger is met during the observation window, or rollback is executed and
102104
documented if a trigger is met.
103-
- [ ] ISSUE-29 explicitly states that disabling HTTP/3 did not reduce CPU in prior observations.
104-
- [ ] ISSUE-29 explicitly states why HTTP/3 was re-enabled and under which conditions it may be
105+
- [x] ISSUE-29 explicitly states that disabling HTTP/3 did not reduce CPU in prior observations.
106+
- [x] ISSUE-29 explicitly states why HTTP/3 was re-enabled and under which conditions it may be
105107
disabled again.
106-
- [ ] Documentation clearly states edge HTTP/3 is independent from backend native HTTP/3 support.
108+
- [x] Documentation clearly states edge HTTP/3 is independent from backend native HTTP/3 support.
107109
- [x] All changed files pass `./scripts/lint.sh`.
110+
111+
## Conclusion
112+
113+
ISSUE-31 can be closed.
114+
115+
- Edge HTTP/3 support has been restored by re-enabling `443:443/udp` on Caddy.
116+
- Immediate, T+1h, and T+next-day evidence shows stable service health and no
117+
observed availability regression.
118+
- A strict sustained-24h CPU/load comparison was interrupted by a host restart,
119+
so that specific continuity requirement is inconclusive rather than failed.
120+
- No rollback trigger was met in the observed checkpoints, so rollback is not
121+
indicated.

0 commit comments

Comments
 (0)