Use default chunk size as 4 MB than than 16Mb in arrow's rolling policy
- Langage dominant
- Java
- Étoiles
- 94
- Forks
- 152
- Merge moyen
- 3 j 16 h
- PR mergées (30 j)
- 11
Description
### Describe the enhancement requested
Apache Arrow currently calculates chunk sizes based on the assumption that Netty's PooledByteBufAllocatorL uses a 16MB page size. If size is blow 16MB, will use nextPowerOfTwo of requestSize.
```java
public long getRoundedSize(long requestSize) {
return requestSize < chunkSize ? CommonUtil.nextPowerOfTwo(requestSize) : requestSize;
}
```
However, Netty's default maximum buffer size has been reduced from 16MB to 4MB in recent versions (see https://github.com/netty/netty/pull/12108). This mismatch leads to memory inefficiency in scenarios where chunk sizes fall between 4MB and 16MB.
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Commencez par localiser l’implémentation de la rolling policy qui contient getRoundedSize et la valeur par défaut de chunkSize, puis examinez comment CommonUtil.nextPowerOfTwo est utilisé. Comparez la policy avec la valeur par défaut de 4 MB de Netty décrite dans l’issue. Le travail est terminé lorsque la valeur par défaut utilise 4 MB et que le comportement existant pour les tailles des requêtes est couvert par les tests pertinents, s’ils existent.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- java
- Domaine
- performance
- Type d'issue
- Fonctionnalité
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 45/100