[FlightRPC][Java] Allow using a per-call Arrow allocator
- Lingua principale
- Java
- Stelle
- 94
- Fork
- 152
- Merge medio
- 3g 16h
- PR unite (30g)
- 11
Descrizione
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.*
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Inizia esaminando l’implementazione di flight-grpc e le due pull request collegate per comprendere l’approccio proposto. Verifica che ogni chiamata DoGet/DoPut possa usare un allocatore Arrow figlio e che tutte le risorse Arrow vengano ripulite prima di notificare a gRPC che la chiamata è terminata.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- grpc, java
- Ambito
- api, backend
- Tipo di issue
- Funzionalità
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 25/100