Writer: compact zstd writes one frame per array; Rust writes 8192 values per frame
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 2/5
- Tempo estimado
- 1-3 horas
- Facilidade para iniciantes
- 66/100
Direção de pesquisa
Comece no preset compact que chama ZstdEncodingEncoder.forText() do lado Java, onde valuesPerFrame é 0, e compare-o com a referência em Rust em vortex-btrblocks/src/schemes/binary/zstd.rs:59, que usa 8192. Verifique o caminho de leitura com múltiplos frames para confirmar que os frames são divididos por n_values, e verifique como a regra de fechamento de frame de 1 GiB do #633 interage com o novo tamanho de frame. Está concluído quando o preset compact grava 8192 valores por frame e os testes existentes de leitura e de ida e volta continuam passando.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Rust's btrblocks binary zstd scheme compresses with 8192 values per frame (vortex-btrblocks/src/schemes/binary/zstd.rs:59, from_var_bin_view_without_dict(&compacted, 3, 8192, ...)). The Java compact preset uses ZstdEncodingEncoder.forText(), i.e. valuesPerFrame = 0: one frame per array.
Both read back (Rust and Java read multiple frames by n_values), so this is an encoding-parity gap, not a correctness bug. It also means a slice scan of a Java-written compact column decompresses the whole array instead of the frames overlapping its row range.
Since #633, a Java varbin frame also closes before 1 GiB of payload (a Java-only rule that keeps every frame under the reader's 2 GiB per-frame cap); adopting Rust's 8192 values per frame would make that cap rarely matter.
Found while reviewing #633.
- Linguagem predominante
- Java
- Estrelas
- 3
- Forks
- 2
- Merge médio
- 14h 59min
- PRs com merge (30d)
- 137
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Sem modelo de pull request
- Ler o guia de contribuição
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 dfa1/vortex-java
-
bug
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 35/100
dfa1/vortex-java#634 ·
Mantenedores costumam responder em até 1 dia
-
enhancement
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 55/100
dfa1/vortex-java#601 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 30/100
dfa1/vortex-java#583 ·
Mantenedores costumam responder em até 1 dia
-
enhancement
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 25/100
dfa1/vortex-java#567 ·
Mantenedores costumam responder em até 1 dia
-
enhancement
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 45/100
dfa1/vortex-java#548 ·
Mantenedores costumam responder em até 1 dia
Todas as issues de dfa1/vortex-java
Issues semelhantes
-
bug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
liberation-data/drivine4j#547 ·
Mantenedores costumam responder em até 1 dia
-
enhancement
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 70/100
-
BindingServiceProperties.bindings regressed to a non-thread-safe TreeMap in GH-3158: concurrent first use of binding names corrupts itTalvez já em andamento @AkashB23 assumiu hoje. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
spring-cloud/spring-cloud-stream#3321 ·
Mantenedores costumam responder em até 1 dia
-
[Bug] 资源包列表 与 模组/数据包/世界 列表排列顺序不一致Talvez já em andamento @fishdry1000 assumiu há 4 dias. Abertabug
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
Mantenedores costumam responder em até 1 dia
-
ai-driven-fuzzing bug claude Minor
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
linagora/twake-calendar-side-service#1333 ·
Mantenedores costumam responder em até 1 dia