[
https://issues.apache.org/jira/browse/SPARK-21412?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Sean Owen resolved SPARK-21412.
-------------------------------
Resolution: Not A Problem
> 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]