apache / apache/iotdb-client-rust
reconnect() holds the pool slot while sleeping between attempts
- Langage dominant
- Rust
- Étoiles
- 1
- Forks
- 0
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Description
`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.
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Piste de recherche
Commencez par lire Session::reconnect et le chemin du pool qui remet les sessions aux appelants de acquire, en vous concentrant sur la manière dont les sessions pooled et standalone sont identifiées. Vérifiez que les tentatives de reconnexion pooled ne conservent pas les temps d’attente entre les tentatives, tandis que les sessions standalone conservent leur rythme actuel, et confirmez que l’acquisition concurrente dans le pool n’échoue plus à cause du délai.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- rust
- Domaine
- databases
- Type d'issue
- Bug
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Activité
- Active
- Clarté
- Plutôt claire
- Accessibilité débutants
- 65/100