hive-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Aditya Shah (Jira)" <>
Subject [jira] [Commented] (HIVE-21225) ACID: getAcidState() should cache a recursive dir listing locally
Date Fri, 14 Feb 2020 10:19:00 GMT


Aditya Shah commented on HIVE-21225:


Thanks for your reply. I'm not using S3guard which might have resulted in a significant amount
of time for S3 calls. But, as far as the numbers are concerned I did attach a profiler for
the same and have attached the flame graphs for cases (row 2, col 2) and (row 2, col 3) from
the above comment:

As you can see the listing takes around 96% of the time. Even the amazonHttpClient calls were
29k vs 520k. My concerns/doubts were the following two:

1) As you pointed out the correctness issue. Any plan to backport to Hive3.1.1.
2) Should we have additional optimization for listing in place (something similar to getInputPath's

> ACID: getAcidState() should cache a recursive dir listing locally
> -----------------------------------------------------------------
>                 Key: HIVE-21225
>                 URL:
>             Project: Hive
>          Issue Type: Improvement
>          Components: Transactions
>            Reporter: Gopal Vijayaraghavan
>            Assignee: Vaibhav Gumashta
>            Priority: Major
>             Fix For: 4.0.0
>         Attachments: HIVE-21225.1.patch, HIVE-21225.10.patch, HIVE-21225.11.patch, HIVE-21225.12.patch,
HIVE-21225.13.patch, HIVE-21225.14.patch, HIVE-21225.15.patch, HIVE-21225.15.patch, HIVE-21225.16.patch,
HIVE-21225.17.patch, HIVE-21225.2.patch, HIVE-21225.3.patch, HIVE-21225.4.patch, HIVE-21225.4.patch,
HIVE-21225.5.patch, HIVE-21225.6.patch, HIVE-21225.7.patch, HIVE-21225.7.patch, HIVE-21225.8.patch,
HIVE-21225.9.patch, async-pid-44-2.svg
> Currently getAcidState() makes 3 calls into the FS api which could be answered by making
a single recursive listDir call and reusing the same data to check for isRawFormat() and isValidBase().
> All delta operations for a single partition can go against a single listed directory
snapshot instead of interacting with the NameNode or ObjectStore within the inner loop.

This message was sent by Atlassian Jira

View raw message