Commit 9d8aa7b
committed
fix(viz): evict idle LogStream entries without requiring a later release
LogStreamRegistry only ran _sweep_idle_streams_locked() from inside
release(), so a stream whose refcount dropped to zero without EOF
stayed resident for the process lifetime whenever no subsequent
release() fired after the idle TTL. Long-lived dashboards with
low-churn traffic leaked every LogStream that ever had a one-off
disconnect, together with its retained event buffer.
Piggyback the sweep onto acquire() and streams_in_cache_dir() too.
New SSE connections anywhere on the dashboard reclaim stale
retention deques from unrelated sessions, and the cache watcher
callback (which calls streams_in_cache_dir on every observed write)
keeps eviction driven by ongoing activity instead of only by
balanced refcount transitions. Add a streaming regression that
rewinds _idle_since and verifies both call-sites evict idle streams.1 parent 66a8d06 commit 9d8aa7b
2 files changed
Lines changed: 61 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
471 | 471 | | |
472 | 472 | | |
473 | 473 | | |
| 474 | + | |
| 475 | + | |
| 476 | + | |
| 477 | + | |
| 478 | + | |
| 479 | + | |
| 480 | + | |
| 481 | + | |
| 482 | + | |
| 483 | + | |
| 484 | + | |
| 485 | + | |
| 486 | + | |
| 487 | + | |
| 488 | + | |
| 489 | + | |
| 490 | + | |
| 491 | + | |
| 492 | + | |
| 493 | + | |
| 494 | + | |
| 495 | + | |
| 496 | + | |
| 497 | + | |
| 498 | + | |
| 499 | + | |
| 500 | + | |
| 501 | + | |
| 502 | + | |
| 503 | + | |
| 504 | + | |
| 505 | + | |
| 506 | + | |
| 507 | + | |
| 508 | + | |
| 509 | + | |
| 510 | + | |
| 511 | + | |
| 512 | + | |
| 513 | + | |
| 514 | + | |
| 515 | + | |
| 516 | + | |
| 517 | + | |
| 518 | + | |
| 519 | + | |
| 520 | + | |
| 521 | + | |
474 | 522 | | |
475 | 523 | | |
476 | 524 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
398 | 398 | | |
399 | 399 | | |
400 | 400 | | |
| 401 | + | |
| 402 | + | |
| 403 | + | |
| 404 | + | |
| 405 | + | |
| 406 | + | |
| 407 | + | |
401 | 408 | | |
402 | 409 | | |
403 | 410 | | |
| |||
475 | 482 | | |
476 | 483 | | |
477 | 484 | | |
| 485 | + | |
| 486 | + | |
| 487 | + | |
| 488 | + | |
| 489 | + | |
| 490 | + | |
478 | 491 | | |
479 | 492 | | |
480 | 493 | | |
| |||
0 commit comments