Chenzhao Guo created SPARK-21412:
------------------------------------

             Summary: Reset BufferHolder while initialize an UnsafeRowWriter
                 Key: SPARK-21412
                 URL: https://issues.apache.org/jira/browse/SPARK-21412
             Project: Spark
          Issue Type: Improvement
          Components: SQL
    Affects Versions: 2.1.1
            Reporter: Chenzhao Guo


UnsafeRowWriter's construtor should contain BufferHolder.reset to make the 
writer out of the box.

While writing UnsafeRow using UnsafeRowWriter, developers should manually call 
BufferHolder.reset to make the BufferHolder's cursor(which indicates where to 
write variable length portion) right in order to write variable length fields 
like UTF8String, byte[], etc.

If a developer doesn't reuse the BufferHolder so maybe he never noticed reset 
and the comments in code, the UnsafeRow won't be correct if he also writes 
variable length UTF8String. This API design doesn't make sense. We should reset 
the BufferHolder to make UnsafeRowWriter out of the box, but not let user read 
the code and manually call it.



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

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to