apache / apache/iotdb-client-rust
reconnect() holds the pool slot while sleeping between attempts
- Linguagem predominante
- Rust
- Estrelas
- 1
- Forks
- 0
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Descrição
`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.
Guia de contribuição
Nenhum guia de contribuição indexado para este repositório
Direção de pesquisa
Comece lendo Session::reconnect e o caminho do pool que entrega as sessões aos chamadores de acquire, concentrando-se em como as sessões pooled e standalone são identificadas. Verifique se as tentativas de reconnect pooled não mantêm os sleeps entre as tentativas, enquanto as sessões standalone mantêm seu pacing atual, e confirme que a aquisição concorrente do pool não falha mais por causa do atraso.
Escrita pelo modelo de indexação a partir do texto da issue.
Avaliação
- Stack de tecnologia
- rust
- Domínio
- databases
- Tipo de issue
- Bug
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Status de atividade
- Ativa
- Clareza
- Razoavelmente clara
- Facilidade para iniciantes
- 65/100