apache / apache/iotdb-client-rust
reconnect() holds the pool slot while sleeping between attempts
- Lenguaje dominante
- Rust
- Estrellas
- 1
- Forks
- 0
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Descripción
`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.
Guía de contribución
No hay ninguna guía de contribución indexada para este repositorio
Línea de trabajo
Empieza leyendo Session::reconnect y la ruta del pool que entrega las sesiones a los llamadores de acquire, centrándote en cómo se identifican las sesiones pooled frente a las standalone. Verifica que los intentos de reconnect pooled no conserven las pausas entre intentos, mientras que las sesiones standalone mantengan su ritmo actual, y confirma que la adquisición concurrente del pool ya no falle debido al retraso.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- rust
- Área
- databases
- Tipo de issue
- Error
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Estado de actividad
- Activo
- Claridad
- Bastante claro
- Aptitud para principiantes
- 65/100