Connection pool follow-ups (#67): async min_idle is inert; hooks/timeouts untested
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 38/100
Direzione di ricerca
Start in hyperdb-api/src/pool.rs, especially PoolConfig::min_idle, the async Manager::recycle path, and the sync should_evict implementation. Compare the async and sync pool behavior, then review deadpool's lifecycle hooks and timeouts. Done means choosing how async min_idle should behave or removing it, and adding coverage for hooks, timeout firing, and async contention.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Summary
Follow-ups from the connection-pool work for #67. The feature is functional and additive, but two areas are intentionally noted as not-yet-complete so they aren't mistaken for finished:
-
PoolConfig::min_idleis inert on the async pool. The field is stored and has a builder (hyperdb-api/src/pool.rs:223,:371), but the async eviction path — deadpool's per-connectionManager::recycle— only consultsmax_lifetimeandidle_timeout; it never readsmin_idle. A per-connection recycle callback has no view of the pool-wide idle/live count, so it cannot enforce a warm-connection floor.min_idleis honored only by the sync pool'sshould_evict(hyperdb-api/src/pool.rs:837-838). So an async caller settingmin_idlecurrently gets a no-op knob.Options: either implement a pool-wide
min_idlefloor for the async pool (likely needs a pool-level hook rather than the per-connection recycle callback), or dropmin_idlefrom the asyncPoolConfigso the surface matches behavior. -
Untested surfaces. A few public paths have no integration-test coverage yet:
after_connect/before_acquirelifecycle hooks (onlyRecycleStrategy::Custom, the recycle probe, is exercised).create_timeoutandrecycle_timeoutfiring — they are plumbed into deadpool'sTimeouts, but onlywait_timeoutfiring is proven by a test.- The async pool has no concurrency/contention test (the sync pool does).
Why file this
These were surfaced by an adversarial fact-check of the feature's PR description and are documented as known limitations there. Filing so they're tracked rather than silently assumed complete. Neither blocks the additive feature from landing.
Notes
Line references are against the #67 feature branch; they may shift if the branch is rebased before merge.
- Lingua principale
- Rust
- Stelle
- 2
- Fork
- 2
- Merge medio
- 12h 2m
- PR unite (30g)
- 60
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di tableau/hyper-api-rust
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
tableau/hyper-api-rust#294 ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
tableau/hyper-api-rust#311 ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
tableau/hyper-api-rust#305 ·
-
Windows Named Pipe: verify DACL denies other users, and measure read-path perf for MCP workloads Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 38/100
tableau/hyper-api-rust#302 ·
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 72/100
tableau/hyper-api-rust#300 ·
Tutte le issue di tableau/hyper-api-rust
Issue simili
-
bug github_actions
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
registrystack/registry-stack#1393 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
longbridge/gpui-kit#3223 ·
-
bug engine
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
rocky-data/rocky#2181 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
oasisprotocol/oasis-sdk#2523 ·
-
[indexer] [QA] Add a focused test for the new NonRetryableError / assertSocketAlive() behavior. Apertabot:ai-assisted component:indexer QA-roadmap status:untriaged
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
midnightntwrk/midnight-indexer#1557 ·