You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@arrow.apache.org by "Sudheesh Katkam (JIRA)" <ji...@apache.org> on 2017/06/29 04:54:00 UTC

[jira] [Created] (ARROW-1162) Transferring Empty List Should Not Invoke Callback

Sudheesh Katkam created ARROW-1162:
--------------------------------------

             Summary: Transferring Empty List Should Not Invoke Callback
                 Key: ARROW-1162
                 URL: https://issues.apache.org/jira/browse/ARROW-1162
             Project: Apache Arrow
          Issue Type: Bug
          Components: Java - Vectors
    Affects Versions: 0.4.1
            Reporter: Sudheesh Katkam
             Fix For: 0.5.0


Here's the test that fails:

{code}
public class TestBufferOwnershipTransfer {

  //...

  private static class Pointer<T> {
    T value;
  }

  private static CallBack newTriggerCallback(final Pointer<Boolean> trigger) {
    trigger.value = false;
    return new CallBack() {
      @Override
      public void doWork() {
        trigger.value = true;
      }
    };
  }

  @Test
  public void emptyListTransferShouldNotTriggerSchemaChange() {
    final BufferAllocator allocator = new RootAllocator(Integer.MAX_VALUE);

    final Pointer<Boolean> trigger1 = new Pointer<>();
    final Pointer<Boolean> trigger2 = new Pointer<>();
    final ListVector v1 = new ListVector("v1", allocator,
            FieldType.nullable(ArrowType.Null.INSTANCE),
            newTriggerCallback(trigger1));
    final ListVector v2 = new ListVector("v2", allocator,
            FieldType.nullable(ArrowType.Null.INSTANCE),
            newTriggerCallback(trigger2));

    v1.makeTransferPair(v2).transfer();

    assertFalse(trigger1.value);
    assertFalse(trigger2.value); // fails
  }
}
{code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)