Provide non blocking getFlightInfo
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
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
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
- 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 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
-
Type: bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
apache/arrow-java#1196 · 1 comentário ·
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 88/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 88/100
Mantenedores costumam responder em até 1 dia
-
go 🏃 testing 🧪
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
valkey-io/valkey-glide#7239 ·
Mantenedores costumam responder em até 2 dias
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 88/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
github/copilot-sdk#2793 ·
Mantenedores costumam responder em até 1 dia