apache / apache/iotdb-client-rust
reconnect() holds the pool slot while sleeping between attempts
- Lingua principale
- Rust
- Stelle
- 1
- Fork
- 0
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
`Session::reconnect()` sleeps `retry_interval` between passes and walks all endpoints while still holding its pool slot. With defaults (3 endpoints, 3 attempts, 1s interval) the worst case is ~92s, during which concurrent `acquire()` callers get "pool exhausted" — an error that points away from the real cause.
Fix: when the session is handed out from a pool, skip the between-attempt sleeps (the slot is still held, but the hold time drops to the connect+handshake attempts), or shorten them. Standalone sessions keep the current C#-style pacing.
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Direzione di ricerca
Start by reading Session::reconnect and the pool path that hands sessions to acquire callers, focusing on how pooled versus standalone sessions are identified. Verify that pooled reconnect attempts do not retain the between-attempt sleeps while standalone sessions keep their current pacing, and confirm that concurrent pool acquisition no longer fails because of the delay.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- rust
- Ambito
- databases
- Tipo di issue
- Bug
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Stato di attività
- Attiva
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 65/100