parquet-java icon indicating copy to clipboard operation
parquet-java copied to clipboard

PARQUET-2415: Reuse hadoop file status and footer in ParquetRecordReader

Open wankunde opened this issue 2 years ago • 7 comments

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":
    1. Subject is separated from body by a blank line
    2. Subject is limited to 50 characters (not including Jira issue reference)
    3. Subject does not end with a period
    4. Subject uses the imperative mood ("add", not "adding")
    5. Body wraps at 72 characters
    6. 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

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.

wankunde avatar Dec 21 '23 01:12 wankunde

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 ?

wankunde avatar Dec 22 '23 06:12 wankunde

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.

wgtmac avatar Dec 24 '23 12:12 wgtmac

Hi, @wgtmac I have fixed this issue in cli module. Thanks

wankunde avatar Dec 25 '23 13:12 wankunde

Hi, @wgtmac @amousavigourabi is there any concern about this PR ?

wankunde avatar Jan 03 '24 01:01 wankunde

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.

amousavigourabi avatar Jan 14 '24 11:01 amousavigourabi

Thanks @wankunde for the contribution. And thanks @wgtmac for ping me.

ConeyLiu avatar Jan 15 '24 07:01 ConeyLiu

+1 for the concept. We need to address that ParquetInputSplit is deprecated. Not sure how, though.

gszadovszky avatar Jan 15 '24 08:01 gszadovszky