[JDBC] Honor DriverManager login timeout
Mantenedores costumam responder em até 2 dias
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 55/100
Direção de pesquisa
O ponto de entrada é ArrowFlightJdbcDriver.connect(); primeiro leia o caminho de conexão atual e o tratamento existente de connectTimeoutMs. Adicione cobertura que defina e restaure o timeout global de DriverManager, verifique o comportamento com timeout zero e diferente de zero, SQLTimeoutException e a limpeza de allocator, channel e client quando a tentativa completa for cancelada ou atingir o tempo limite.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Describe the enhancement requested
ArrowFlightJdbcDriver.connect() does not currently honor the timeout configured through DriverManager.setLoginTimeout(int).
Implement support for the DriverManager login timeout:
- Read the value exposed by
DriverManager.getLoginTimeout()when establishing a connection selected byDriverManager. - Preserve the JDBC semantics of zero: do not impose a login timeout.
- Apply a nonzero timeout to the overall connection attempt, not only the underlying Netty socket connection.
- If the timeout expires, attempt to cancel the connection attempt and throw
SQLTimeoutException. - Clean up any allocator, channel, or partially constructed client when the attempt is cancelled or times out.
- Add tests that set and restore the global
DriverManagertimeout and verify timeout enforcement, exception type, and resource cleanup.
This is distinct from #494/#495. The existing connectTimeoutMs property configures Netty socket connection attempts and does not consume the timeout configured through DriverManager.
Context: #1027 and the follow-up discussion.
Related DataSource work: https://github.com/apache/arrow-java/issues/1267
- Linguagem predominante
- Java
- Estrelas
- 97
- Forks
- 158
- Merge médio
- 7d 5h
- PRs com merge (30d)
- 9
Preparar o ambiente
- Inclui um Dockerfile ou arquivo Docker Compose
- Tem um modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de apache/arrow-java
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 88/100
apache/arrow-java#1311 ·
Mantenedores costumam responder em até 2 dias
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 74/100
apache/arrow-java#1261 ·
Mantenedores costumam responder em até 2 dias
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
apache/arrow-java#1236 ·
Mantenedores costumam responder em até 2 dias
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
apache/arrow-java#1230 ·
Mantenedores costumam responder em até 2 dias
-
Type: bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 85/100
apache/arrow-java#1205 ·
Mantenedores costumam responder em até 2 dias
Todas as issues de apache/arrow-java
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
aoqia194/leaf-loader#19 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
apache/streampark#4521 ·
-
Update license yearAberta0 - Backlog 1 - Ready documentation good first issue help wanted
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
-
cbor
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
FasterXML/jackson-dataformats-binary#844 ·
Mantenedores costumam responder em até 1 dia
-
Issue: Bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
OpenAPITools/openapi-generator#25107 ·
Mantenedores costumam responder em até 1 dia