[FlightRPC][Java] Allow using a per-call Arrow allocator
- Linguagem predominante
- Java
- Estrelas
- 94
- Forks
- 152
- Merge médio
- 3d 16h
- PRs com merge (30d)
- 11
Descrição
We've been running into issues with Flight and gRPC leaking direct memory at scale. One thing we'd like to do is have a (child) allocator per DoGet/DoPut call, so we can more accurately track memory usage. We have a candidate implementation that is rather messy, but can be upstreamed as part of flight-grpc.
This also requires changes to _ensure_ all Arrow resources are cleaned up before we notify gRPC that the call has finished.
**Reporter**: [David Li](https://issues.apache.org/jira/browse/ARROW-9586) / @lidavidm
#### PRs and other links:
- [GitHub Pull Request apache/arrow#8265](https://github.com/apache/arrow/pull/8265)
- [GitHub Pull Request apache/arrow#9417](https://github.com/apache/arrow/pull/9417)
**Note**: *This issue was originally created as [ARROW-9586](https://issues.apache.org/jira/browse/ARROW-9586). Please see the [migration documentation](https://github.com/apache/arrow/issues/14542) for further details.*
Guia de contribuição
Direção de pesquisa
Comece revisando a implementação de flight-grpc e os dois pull requests vinculados para entender a abordagem proposta. Verifique se cada chamada DoGet/DoPut pode usar um alocador filho do Arrow e se todos os recursos do Arrow são liberados antes de notificar o gRPC de que a chamada foi concluída.
Escrita pelo modelo de indexação a partir do texto da issue.
Avaliação
- Stack de tecnologia
- grpc, java
- Domínio
- api, backend
- Tipo de issue
- Funcionalidade
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Status de atividade
- Estagnada
- Clareza
- Razoavelmente clara
- Facilidade para iniciantes
- 25/100