Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
3.3.0
-
None
Description
case (BYTES, BinaryType) => (updater, ordinal, value) => val bytes = value match { case b: ByteBuffer => val bytes = new Array[Byte](b.remaining) b.get(bytes) // Do not forget to reset the position b.rewind() bytes case b: Array[Byte] => b case other => throw new RuntimeException(s"$other is not a valid avro binary.") } updater.set(ordinal, bytes)
After Avro data is converted to InternalRow, there will be redundant position in ByteBuffer type caused by ByteBuffer#get