Michael Allman created PARQUET-390:
--------------------------------------
Summary: 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
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)