PARQUET-2415: Reuse hadoop file status and footer in ParquetRecordReader
Make sure you have checked all steps below.
Jira
- [ ] My PR addresses the following Parquet Jira issues and references
them in the PR title. For example, "PARQUET-2415: Reuse hadoop file status and footer in ParquetRecordReader"
- https://issues.apache.org/jira/browse/PARQUET-2415
Tests
- [ ] My PR adds the following unit tests OR does not need testing for this extremely good reason:
Commits
- [ ] 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":
- Subject is separated from body by a blank line
- Subject is limited to 50 characters (not including Jira issue reference)
- Subject does not end with a period
- Subject uses the imperative mood ("add", not "adding")
- Body wraps at 72 characters
- Body explains "what" and "why", not "how"
Style
- [ ] My contribution adheres to the code style guidelines and Spotless passes.
- To apply the necessary changes, run
mvn spotless:apply -Pvector-plugins
- To apply the necessary changes, run
Documentation
- [ ] In case of new functionality, my PR adds documentation that describes how to use it.
- Call
ParquetInputSplit.setFooter(footer)before creating a ParquetRecordReader from this split, then the reader will reuse the Hadoop file status and skip the getfileinfo Hadoop RPC and skip reading the footer again.
- Call
I can not reproduce the failed UT:
2023-12-22T04:25:27.6546055Z [INFO] Running org.apache.parquet.cli.commands.ShowFooterCommandTest
2023-12-22T04:25:27.8426114Z [ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.179 s <<< FAILURE! - in org.apache.parquet.cli.commands.ShowFooterCommandTest
2023-12-22T04:25:27.8428914Z [ERROR] testShowDirectoryCommand(org.apache.parquet.cli.commands.ShowFooterCommandTest) Time elapsed: 0.179 s <<< ERROR!
2023-12-22T04:25:27.8699007Z com.fasterxml.jackson.databind.JsonMappingException: Document nesting depth (1001) exceeds the maximum allowed (1000, from `StreamWriteConstraints.getMaxNestingDepth()`) (through reference chain: org.apache.parquet.hadoop.util.HadoopInputFile["fs"]->org.apache.hadoop.fs.LocalFileSystem["key"]->org.apache.hadoop.fs.FileSystem$Cache$Key["ugi"]->org.apache.hadoop.security.UserGroupInformation["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"]->javax.security.auth.Subject["principals"]->java.util.Collections$SynchronizedSet[5]->org.apache.hadoop.security.User["login"]->javax.security.auth.login.LoginContext["subject"])
2023-12-22T04:25:27.8914504Z Caused by: com.fasterxml.jackson.core.exc.StreamConstraintsException: Document nesting depth (1001) exceeds the maximum allowed (1000, from `StreamWriteConstraints.getMaxNestingDepth()`)
2023-12-22T04:25:27.8916205Z
If any one could help check this issue ?
Have you tried to run mvn install before running the cli test? It may run the test with dependency from maven central without your patch.
Hi, @wgtmac I have fixed this issue in cli module. Thanks
Hi, @wgtmac @amousavigourabi is there any concern about this PR ?
Hi @wankunde , sorry for the delayed response. I don't see any blockers on my side and love the patch, so its a +1 from me.
Thanks @wankunde for the contribution. And thanks @wgtmac for ping me.
+1 for the concept. We need to address that ParquetInputSplit is deprecated. Not sure how, though.