Core: Add EagerInputFile in Manifest reader path#17284
Conversation
|
While reviewing this PR, a concern from the discussion on a similar PR: #4518 (comment) should also be revisited here too.
So I don't think eager fetching introduces any new failure modes here; it either behaves the same as the existing path or fails immediately when the metadata is inconsistent. Just need a confirmation on here. |
Benchmark Setup (JMH)Machine: AWS EC2 (same region as the S3 bucket to minimize network latency)
Benchmark: ManifestBenchmark
ResultsParquet v4 (Non-Partitioned)
Parquet v4 (Partitioned)
Graphical Comparison
S3 Request AnalysisThe number of S3 GET requests per manifest read is computed as: (Used S3 bucket logs)
|

Using EagerInputFile in ManifestFiles.java in newInputFile for it to user EagerInputFile and EagerInputStream.
Using ManifestBenchmark.java to benchmark performance benefit from this changes