Program: 172757
Project: 172757
Buggy source:
@Test public void T_setByte_2() throws IOException {
  IColumn column=new PrimitiveColumn(ColumnType.BYTE,"String_Node_Str");
  column.add(ColumnType.BYTE,new ByteObj((byte)100),0);
  column.add(ColumnType.BYTE,new ByteObj((byte)200),1);
  column.add(ColumnType.BYTE,new ByteObj((byte)255),5);
  ColumnBinaryMakerConfig defaultConfig=new ColumnBinaryMakerConfig();
  ColumnBinaryMakerCustomConfigNode configNode=new ColumnBinaryMakerCustomConfigNode("String_Node_Str",defaultConfig);
  IColumnBinaryMaker maker=new UniqByteColumnBinaryMaker();
  ColumnBinary columnBinary=maker.toBinary(defaultConfig,null,column);
  BufferAllocator allocator=new RootAllocator(1024 * 1024 * 10);
  SchemaChangeCallBack callBack=new SchemaChangeCallBack();
  MapVector parent=new MapVector("String_Node_Str",allocator,new FieldType(false,Struct.INSTANCE,null,null),callBack);
  parent.allocateNew();
  IMemoryAllocator memoryAllocator=ArrowMemoryAllocatorFactory.getFromMapVector(ColumnType.BYTE,"String_Node_Str",allocator,parent);
  maker.loadInMemoryStorage(columnBinary,memoryAllocator);
  MapReader rootReader=parent.getReader();
  FieldReader reader=rootReader.reader("String_Node_Str");
  reader.setPosition(0);
  assertEquals(reader.readByte().byteValue(),(byte)100);
  reader.setPosition(1);
  assertEquals(reader.readByte().byteValue(),(byte)200);
  reader.setPosition(5);
  assertEquals(reader.readByte().byteValue(),(byte)255);
  reader.setPosition(2);
  assertEquals(reader.readByte(),null);
  reader.setPosition(3);
  assertEquals(reader.readByte(),null);
  reader.setPosition(4);
  assertEquals(reader.readByte(),null);
}

Fixed version (ground truth):
@Test public void T_setByte_2() throws IOException {
  IColumn column=new PrimitiveColumn(ColumnType.BYTE,"String_Node_Str");
  column.add(ColumnType.BYTE,new ByteObj((byte)100),0);
  column.add(ColumnType.BYTE,new ByteObj((byte)200),1);
  column.add(ColumnType.BYTE,new ByteObj((byte)255),5);
  ColumnBinaryMakerConfig defaultConfig=new ColumnBinaryMakerConfig();
  ColumnBinaryMakerCustomConfigNode configNode=new ColumnBinaryMakerCustomConfigNode("String_Node_Str",defaultConfig);
  IColumnBinaryMaker maker=new OptimizeLongColumnBinaryMaker();
  ColumnBinary columnBinary=maker.toBinary(defaultConfig,null,column);
  BufferAllocator allocator=new RootAllocator(1024 * 1024 * 10);
  SchemaChangeCallBack callBack=new SchemaChangeCallBack();
  MapVector parent=new MapVector("String_Node_Str",allocator,new FieldType(false,Struct.INSTANCE,null,null),callBack);
  parent.allocateNew();
  IMemoryAllocator memoryAllocator=ArrowMemoryAllocatorFactory.getFromMapVector(ColumnType.BYTE,"String_Node_Str",allocator,parent);
  maker.loadInMemoryStorage(columnBinary,memoryAllocator);
  MapReader rootReader=parent.getReader();
  FieldReader reader=rootReader.reader("String_Node_Str");
  reader.setPosition(0);
  assertEquals(reader.readByte().byteValue(),(byte)100);
  reader.setPosition(1);
  assertEquals(reader.readByte().byteValue(),(byte)200);
  reader.setPosition(5);
  assertEquals(reader.readByte().byteValue(),(byte)255);
  reader.setPosition(2);
  assertEquals(reader.readByte(),null);
  reader.setPosition(3);
  assertEquals(reader.readByte(),null);
  reader.setPosition(4);
  assertEquals(reader.readByte(),null);
}