Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

[JDBC] Implement DataSource login timeout

Aberta
#1,267 0 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
4/5
Tempo estimado
3-5 dias
Facilidade para iniciantes
66/100
Tipo de issue
Funcionalidade
Clareza
Razoavelmente clara
Status de atividade
Ativa
Stack de tecnologia
java
Domínio
databases

Direção de pesquisa

Comece por ArrowFlightJdbcDataSource.setLoginTimeout(int), getLoginTimeout() e pelo caminho de DataSource.getConnection(); compare-os com o comportamento existente de connectTimeoutMs. Adicione cobertura para o valor padrão, setter/getter, aplicação do timeout, SQLTimeoutException e limpeza de recursos criados parcialmente. Considera-se concluído quando zero preserva o comportamento padrão e timeouts de login diferentes de zero cancelam tentativas com falha sem vazamentos.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

Describe the enhancement requested

ArrowFlightJdbcDataSource.setLoginTimeout(int) currently throws SQLFeatureNotSupportedException, and getLoginTimeout() always returns 0.

Implement the JDBC DataSource login-timeout contract:

  • Store and return the timeout configured for each ArrowFlightJdbcDataSource instance.
  • Apply a nonzero timeout to connection establishment through DataSource.getConnection().
  • Preserve the JDBC semantics of zero: use the default system timeout if one exists; otherwise, do not impose a timeout.
  • 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 for the default value, setter/getter behavior, timeout enforcement, exception type, and resource cleanup.

This is distinct from #494/#495. The existing connectTimeoutMs property configures Netty socket connection attempts; the JDBC login timeout applies to the overall database connection attempt exposed by DataSource.getConnection().

Context: #1027 and the follow-up discussion.

Related DriverManager work: https://github.com/apache/arrow-java/issues/1268

Linguagem predominante
Java
Estrelas
95
Forks
154
Merge médio
2d 10h
PRs com merge (30d)
11

Guia de contribuição

Abrir o guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de apache/arrow-java

Todas as issues de apache/arrow-java

Issues semelhantes

Mais issues de Java

Receba novas issues na sua caixa de entrada

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