[ https://issues.apache.org/jira/browse/PARQUET-388?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14987875#comment-14987875 ]
Reuben Kuhnert commented on PARQUET-388: ---------------------------------------- Just as a general comment, returning {{<T extends MessageOrBuilder>}} does feel very mysterious to me. Does it make sense to have two explicit methods like {{asBuilder}} and {{asMessage}} in addition to the current {{getCurrentRecord}}? > ProtoRecordConverter might wrongly cast a Message.Builder to Message > -------------------------------------------------------------------- > > Key: PARQUET-388 > URL: https://issues.apache.org/jira/browse/PARQUET-388 > Project: Parquet > Issue Type: Bug > Components: parquet-mr > Reporter: Wu Xiang > Assignee: Reuben Kuhnert > > ProtoRecordConverter returns current record as follows: > {code} > public T getCurrentRecord() { > if (buildBefore) { > return (T) this.reusedBuilder.build(); > } else { > return (T) this.reusedBuilder; > } > } > {code} > However this might fail if T is subclass of Message and buildBefore == false, > since it's actually casting a Message.Builder instance to Message type. -- This message was sent by Atlassian JIRA (v6.3.4#6332)