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

Provide non blocking getFlightInfo

Aberta
#719 2 comentários 0 reações 0 responsáveis Ver no GitHub

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
42/100
Tipo de issue
Funcionalidade
Clareza
Razoavelmente clara
Status de atividade
Estagnada
Stack de tecnologia
java
Domínio
api

Direção de pesquisa

Comece lendo a interface FlightProducer e como o FlightService trata getFlightInfo; em seguida, compare como os outros métodos não bloqueantes de FlightProducer são implementados. Confirme como a sobrecarga de listener proposta e a flag isBlockingFlightInfo podem preservar as implementações existentes; o trabalho estará concluído quando o FlightService puder usar o caminho não bloqueante sem quebrar os producers bloqueantes.

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

Descrição

Type: enhancement
Describe the enhancement requested

We have a use case in our production environment where getFlightInfo can take longer than a second and having a blocking getFlightInfo is a problem. Since many other methods in FlightProducer is non blocking we should also have a non blocking getFlightInfo

The code would look something like this with minimum impact to all the implementations

 /**
   * Get information about a particular data stream.
   *
   * @param context Per-call context.
   * @param descriptor The descriptor identifying the data stream.
   * @return Metadata about the stream.
   */
  FlightInfo getFlightInfo(CallContext context, FlightDescriptor descriptor);

  /**
   *  Get information about a particular data stream.
   *  
   * @param context Per-call context.
   * @param descriptor The descriptor identifying the data stream.
   * @param listener An interface for sending data back to the client.
   */
  default void getFlightInfo(CallContext context, FlightDescriptor descriptor, StreamListener<FlightInfo> listener ){
    FlightInfo flightInfo = getFlightInfo(context, descriptor);
    listener.onNext(flightInfo);
    listener.onCompleted();
  }

  /**
   *
   * @return true if blocking (default) version of getFlightInfo needs to be used by FlightService.
   */
  default boolean isBlockingFlightInfo() {
    return true;
  }
Linguagem predominante
Java
Estrelas
95
Forks
154
Merge médio
2d 13h
PRs com merge (30d)
9

Preparar o ambiente

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.