apache / apache/iotdb-client-rust

reconnect() holds the pool slot while sleeping between attempts

Ouverte
#10 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
enhancement
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

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.