apache / apache/iotdb-client-rust

reconnect() holds the pool slot while sleeping between attempts

Aberta
#10 0 comentários 0 reações 0 responsáveis Ver no GitHub
enhancement
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

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.