[ 
https://issues.apache.org/jira/browse/PARQUET-2185?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17601389#comment-17601389
 ] 

ASF GitHub Bot commented on PARQUET-2185:
-----------------------------------------

a2l007 opened a new pull request, #994:
URL: https://github.com/apache/parquet-mr/pull/994

   This PR fixes the nullpointer exception encountered while reading encrypted 
files using the ParquetReader initialized using the builder. It modifies the 
existing `ParquetReadOptions.Builder` initialization to include the path in the 
builder.
   Make sure you have checked _all_ steps below.
   
   ### Jira
   
   - [x] My PR addresses the following [Parquet 
Jira](https://issues.apache.org/jira/browse/PARQUET/) issues and references 
them in the PR title. For example, "PARQUET-1234: My Parquet PR"
     - https://issues.apache.org/jira/browse/PARQUET-2185
     - In case you are adding a dependency, check if the license complies with 
the [ASF 3rd Party License 
Policy](https://www.apache.org/legal/resolved.html#category-x).
   
   ### Tests
   
   - [ ] My PR adds the following unit tests __OR__ does not need testing for 
this extremely good reason:
   
   ### Commits
   
   - [x] My commits all reference Jira issues in their subject lines. In 
addition, my commits follow the guidelines from "[How to write a good git 
commit message](http://chris.beams.io/posts/git-commit/)":
     1. Subject is separated from body by a blank line
     1. Subject is limited to 50 characters (not including Jira issue reference)
     1. Subject does not end with a period
     1. Subject uses the imperative mood ("add", not "adding")
     1. Body wraps at 72 characters
     1. Body explains "what" and "why", not "how"
   
   ### Documentation
   
   - [ ] In case of new functionality, my PR adds documentation that describes 
how to use it.
     - All the public functions and the classes in the PR contain Javadoc that 
explain what it does
   




> ParquetReader constructed using builder fails to read encrypted files
> ---------------------------------------------------------------------
>
>                 Key: PARQUET-2185
>                 URL: https://issues.apache.org/jira/browse/PARQUET-2185
>             Project: Parquet
>          Issue Type: Bug
>            Reporter: Atul Mohan
>            Priority: Minor
>
> ParquetReader objects can be constructed using the builder as follows:
>  {code:java}
> ParquetReader<Group> builderReader = ParquetReader.builder(new 
> GroupReadSupport(),new Path("path/to/c000.snappy.parquet"))
> .withConf(conf)
> .build();
> {code}
> This parquetReader object cannot be used to read encrypted files as 
> {noformat}
> builderReader.read(){noformat}
>  fails with the following exception:
>  
> {code:java}
> java.lang.NullPointerException at 
> org.apache.parquet.crypto.keytools.FileKeyUnwrapper.getKey(FileKeyUnwrapper.java:87)
>   {code}
> It seems like the reason is that the _withConf_ method within the 
> ParquetReader builder [clears the optionsBuilder set 
> earlier|https://github.com/apache/parquet-mr/blob/master/parquet-hadoop/src/main/java/org/apache/parquet/hadoop/ParquetReader.java#L231].
> Here is a sample test showcasing the issue: 
> [https://gist.github.com/a2l007/3d813cc5e44c45100dda169dc6245ae4]



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to