Hacktoberfest 2026: los issues que los mantenedores marcaron para octubre, abiertos y aptos para principiantes. Explorar issues de Hacktoberfest

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

Abierto
#830 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
3/5
Tiempo estimado
1-2 días
Aptitud para principiantes
58/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Estancado
Stack tecnológico
java
Área
data

Línea de trabajo

Comienza con TestStructVector.testStructVectorTransferPairWithNullType y compáralo con testStructVectorTransferPairWithExtensionType. Sigue StructVector.getTransferPair hasta StructVector.java y NullableStructWriter.java, y después ejecuta las pruebas enfocadas de TestStructVector; terminado cuando una struct que contiene un NullVector se transfiera sin la excepción Unknown type: NULL y la prueba de regresión pase.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

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

Lenguaje dominante
Java
Estrellas
95
Forks
154
Merge medio
2 d 10 h
PR fusionados (30 d)
11

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de apache/arrow-java

Todos los issues de apache/arrow-java

Issues similares

Más issues de Java

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.