Github user vvysotskyi commented on a diff in the pull request: https://github.com/apache/drill/pull/805#discussion_r133933369 --- Diff: exec/java-exec/src/main/java/org/apache/drill/exec/store/parquet/ParquetReaderUtility.java --- @@ -181,6 +186,101 @@ else if (parquetTableMetadata instanceof Metadata.ParquetTableMetadata_v2 && } /** + * Checks that the metadata file has version less than + * the version where was changed the serialization of BINARY values + * and assigns byte arrays to min/max values obtained from the deserialized string. + * + * @param parquetTableMetadata table metadata that should be corrected + */ --- End diff -- `ColumnMetadata_v1` class serializes / deserializes `primitiveType` field so it does not hard to check that field has `BINARY` type. But `ColumnMetadata_v2` and `ColumnMetadata_v3` does not serialize this field. They have classes `ColumnTypeMetadata_v2` and `ColumnTypeMetadata_v3` respectively which contain information about the field name, primitive and original types. In this method, we are receiving fields with `BINARY` type taking information about the field type from `ColumnTypeMetadata_v2` or `ColumnTypeMetadata_v3`.
--- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---