You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@parquet.apache.org by "Ryan Blue (JIRA)" <ji...@apache.org> on 2015/11/04 18:13:28 UTC
[jira] [Commented] (PARQUET-390) GroupType.union(Type toMerge,
boolean strict) does not honor strict parameter
[ https://issues.apache.org/jira/browse/PARQUET-390?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14989939#comment-14989939 ]
Ryan Blue commented on PARQUET-390:
-----------------------------------
Thanks for the bug report, Michael. I think you're right about this.
Could you share with us what you're using this for? This was originally used for building an overall schema for the files in a job, but it isn't necessary to do that and we mostly removed the need to in PARQUET-139. I'd like to see what your use case for it is. Thanks!
> GroupType.union(Type toMerge, boolean strict) does not honor strict parameter
> -----------------------------------------------------------------------------
>
> Key: PARQUET-390
> URL: https://issues.apache.org/jira/browse/PARQUET-390
> Project: Parquet
> Issue Type: Bug
> Components: parquet-mr
> Reporter: Michael Allman
> Labels: parquet
>
> This is the code as it currently stands in master:
> {code}
> @Override
> protected Type union(Type toMerge, boolean strict) {
> if (toMerge.isPrimitive()) {
> throw new IncompatibleSchemaModificationException("can not merge primitive type " + toMerge + " into group type " + this);
> }
> return new GroupType(toMerge.getRepetition(), getName(), mergeFields(toMerge.asGroupType()));
> }
> {code}
> Note the call to {{mergeFields}} omits the {{strict}} parameter. I believe the code should be:
> {code}
> @Override
> protected Type union(Type toMerge, boolean strict) {
> if (toMerge.isPrimitive()) {
> throw new IncompatibleSchemaModificationException("can not merge primitive type " + toMerge + " into group type " + this);
> }
> return new GroupType(toMerge.getRepetition(), getName(), mergeFields(toMerge.asGroupType(), strict));
> }
> {code}
> Note the call to {{mergeFields}} includes the {{strict}} parameter.
> I would work on this myself, but I'm having considerable trouble working with the codebase (see e.g. http://stackoverflow.com/questions/31229445/build-failure-apache-parquet-mr-source-mvn-install-failure). Given the (assumed) simplicity of the fix, can a seasoned Parquet contributor take this up? Cheers.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)