apache / apache/arrow-java

Use default chunk size as 4 MB than than 16Mb in arrow's rolling policy

Aberta
#1,040 0 comentários 0 reações 0 responsáveis Ver no GitHub
Type: enhancement
Linguagem predominante
Java
Estrelas
94
Forks
152
Merge médio
3d 16h
PRs com merge (30d)
11

Descrição

### 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.

Guia de contribuição

Abrir o guia de contribuição

Direção de pesquisa

Comece localizando a implementação da rolling policy que contém getRoundedSize e o valor padrão de chunkSize; em seguida, leia como CommonUtil.nextPowerOfTwo é usado. Compare a policy com o valor padrão de 4 MB do Netty descrito na issue. Considera-se concluído quando o valor padrão usa 4 MB e o comportamento existente para os tamanhos das requisições está coberto pelos testes relevantes, se houver.

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

Avaliação

Stack de tecnologia
java
Domínio
performance
Tipo de issue
Funcionalidade
Dificuldade
2/5
Tempo estimado
1-3 horas
Status de atividade
Estagnada
Clareza
Razoavelmente clara
Facilidade para iniciantes
45/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.