Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

'Unknown type: NULL' when initialising a NullableStructWriter from a struct with NullVector children

Aberta
#830 0 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
3/5
Tempo estimado
1-2 dias
Facilidade para iniciantes
58/100
Tipo de issue
Bug
Clareza
Claramente especificada
Status de atividade
Estagnada
Stack de tecnologia
java
Domínio
data

Direção de pesquisa

Comece com TestStructVector.testStructVectorTransferPairWithNullType e compare-o com testStructVectorTransferPairWithExtensionType. Rastreie StructVector.getTransferPair até StructVector.java e NullableStructWriter.java e, em seguida, execute os testes focados de TestStructVector; concluído quando uma struct contendo um NullVector for transferida sem a exceção Unknown type: NULL e o teste de regressão passar.

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

Descrição

Type: bug
Describe the bug, including details regarding any error messages, version, and platform.

added test case to TestStructVector:


  @Test
  public void testStructVectorTransferPairWithNullType() {
    Field uuidField = new Field("null", FieldType.nullable(ArrowType.Null.INSTANCE), null);
    Field structField =
            new Field("struct", FieldType.nullable(new ArrowType.Struct()), List.of(uuidField));

    try(StructVector s1 = (StructVector) structField.createVector(allocator)) {
        NullVector nullVector =
                s1.addOrGet("null", FieldType.nullable(ArrowType.Null.INSTANCE), NullVector.class);
        s1.setValueCount(1);
        nullVector.setNull(0);
        s1.setIndexDefined(0);

        TransferPair tp = s1.getTransferPair(structField, allocator);
        try (StructVector toVector = (StructVector) tp.getTo()) {
            assertEquals(s1.getField(), toVector.getField());
        }
    }
  }

got this:

java.lang.UnsupportedOperationException: Unknown type: NULL
	at org.apache.arrow.vector.complex.impl.NullableStructWriter.<init>(NullableStructWriter.java:279)
	at org.apache.arrow.vector.complex.StructVector.<init>(StructVector.java:74)
	at org.apache.arrow.vector.complex.StructVector.getTransferPair(StructVector.java:261)
	at org.apache.arrow.vector.TestStructVector.testStructVectorTransferPairWithNullType(TestStructVector.java:389)
	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
	at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
	at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)

expected: similar result to testStructVectorTransferPairWithExtensionType

Cheers!

James

our issue: xtdb/xtdb#4693

Linguagem predominante
Java
Estrelas
95
Forks
154
Merge médio
2d 10h
PRs com merge (30d)
11

Guia de contribuição

Abrir o guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de apache/arrow-java

Todas as issues de apache/arrow-java

Issues semelhantes

Mais issues de Java

Receba novas issues na sua caixa de entrada

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