[ https://issues.apache.org/jira/browse/IMPALA-13960?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Quanlong Huang resolved IMPALA-13960. ------------------------------------- Fix Version/s: Impala 5.0.0 Resolution: Fixed > Add catalog timeline item for prepareInsertEventData() > ------------------------------------------------------ > > Key: IMPALA-13960 > URL: https://issues.apache.org/jira/browse/IMPALA-13960 > Project: IMPALA > Issue Type: Bug > Components: Catalog > Reporter: Quanlong Huang > Assignee: Quanlong Huang > Priority: Major > Fix For: Impala 5.0.0 > > > After IMPALA-12443, we have catalog timeline in profiles for all DDL/DMLs. > Here is a timeline for a slow INSERT: > {noformat} > Catalog Server Operation > Got catalog version read lock: 2.35us (2352) > Got catalog version write lock and table write lock: 36.03us (36031) > Got Metastore client: 1ms (1671234) > Unset partition stats in Metastore: 148ms (148485023) > Got Metastore client: 19.9m (1193611314630) <---------- 1st > slowest, 19.9m. Actually in prepareInsertEventData() > Fired Metastore events: 19.9m (1193987278467) > Got Metastore client: 19.9m (1193987411141) > Fetched table from Metastore: 19.9m (1193992369196) > Start refreshing file metadata: 19.9m (1193998823165) > Loaded file metadata for 24 partitions: 23.2m (1390520901790) > <-------- 2nd slowest, 3.3m > Reloaded table metadata: 23.2m (1390522004615) > Finished updateCatalog request: 23.2m (1390522048075){noformat} > The first slowest point is "Got Metastore client: 19.9m". It seems getting a > HMS client took 19.9 minutes. However, it's just the duration between two > timeline items. So it means after "Unset partition stats in Metastore", we > spent 19.9m before we start firing the HMS INSERT events. > The catalogd logs show what happens during that time: > {noformat} > I0403 12:56:11.310474 1162572 JniUtil.java:166] > a2426d05d038f8f3:b9785d2100000000] updateCatalog request: Update catalog for > masked_tbl > I0403 12:56:11.459260 1162572 CatalogOpExecutor.java:7222] > a2426d05d038f8f3:b9785d2100000000] 208 new files detected for table > masked_tbl partition month_id=202403/part=P > I0403 12:56:34.131578 1162572 CatalogOpExecutor.java:7222] > a2426d05d038f8f3:b9785d2100000000] 208 new files detected for table > masked_tbl partition month_id=202408/part=P > I0403 12:57:01.882170 1162572 CatalogOpExecutor.java:7222] > a2426d05d038f8f3:b9785d2100000000] 208 new files detected for table > masked_tbl partition month_id=202412/part=I > I0403 12:58:15.632098 1162572 CatalogOpExecutor.java:7222] > a2426d05d038f8f3:b9785d2100000000] 208 new files detected for table > masked_tbl partition month_id=202408/part=I > I0403 12:59:42.968737 1162572 CatalogOpExecutor.java:7222] > a2426d05d038f8f3:b9785d2100000000] 208 new files detected for table > masked_tbl partition month_id=202409/part=I > I0403 12:59:59.686712 1162572 CatalogOpExecutor.java:7222] > a2426d05d038f8f3:b9785d2100000000] 208 new files detected for table > masked_tbl partition month_id=202404/part=I > I0403 13:00:11.229885 1162572 CatalogOpExecutor.java:7222] > a2426d05d038f8f3:b9785d2100000000] 208 new files detected for table > masked_tbl partition month_id=202411/part=I > I0403 13:00:27.176134 1162572 CatalogOpExecutor.java:7222] > a2426d05d038f8f3:b9785d2100000000] 208 new files detected for table > masked_tbl partition month_id=202407/part=P > I0403 13:00:33.649430 1162572 CatalogOpExecutor.java:7222] > a2426d05d038f8f3:b9785d2100000000] 208 new files detected for table > masked_tbl partition month_id=202411/part=P > I0403 13:01:20.446049 1162572 CatalogOpExecutor.java:7222] > a2426d05d038f8f3:b9785d2100000000] 208 new files detected for table > masked_tbl partition month_id=202409/part=P > I0403 13:05:25.102756 1162572 CatalogOpExecutor.java:7222] > a2426d05d038f8f3:b9785d2100000000] 208 new files detected for table > masked_tbl partition month_id=202404/part=P > I0403 13:08:11.804157 1162572 CatalogOpExecutor.java:7222] > a2426d05d038f8f3:b9785d2100000000] 208 new files detected for table > masked_tbl partition month_id=202407/part=I > I0403 13:09:59.541743 1162572 CatalogOpExecutor.java:7222] > a2426d05d038f8f3:b9785d2100000000] 208 new files detected for table > masked_tbl partition month_id=202403/part=I > I0403 13:11:41.731952 1162572 CatalogOpExecutor.java:7222] > a2426d05d038f8f3:b9785d2100000000] 208 new files detected for table > masked_tbl partition month_id=202412/part=P > I0403 13:14:08.321990 1162572 CatalogOpExecutor.java:7222] > a2426d05d038f8f3:b9785d2100000000] 208 new files detected for table > masked_tbl partition month_id=202406/part=I > I0403 13:14:39.233712 1162572 CatalogOpExecutor.java:7222] > a2426d05d038f8f3:b9785d2100000000] 208 new files detected for table > masked_tbl partition month_id=202401/part=P > I0403 13:14:53.318434 1162572 CatalogOpExecutor.java:7222] > a2426d05d038f8f3:b9785d2100000000] 208 new files detected for table > masked_tbl partition month_id=202405/part=P > I0403 13:14:58.458074 1162572 CatalogOpExecutor.java:7222] > a2426d05d038f8f3:b9785d2100000000] 208 new files detected for table > masked_tbl partition month_id=202402/part=I > I0403 13:15:05.593832 1162572 CatalogOpExecutor.java:7222] > a2426d05d038f8f3:b9785d2100000000] 208 new files detected for table > masked_tbl partition month_id=202410/part=P > I0403 13:15:12.048745 1162572 CatalogOpExecutor.java:7222] > a2426d05d038f8f3:b9785d2100000000] 208 new files detected for table > masked_tbl partition month_id=202405/part=I > I0403 13:15:23.656896 1162572 CatalogOpExecutor.java:7222] > a2426d05d038f8f3:b9785d2100000000] 208 new files detected for table > masked_tbl partition month_id=202402/part=P > I0403 13:15:46.168848 1162572 CatalogOpExecutor.java:7222] > a2426d05d038f8f3:b9785d2100000000] 208 new files detected for table > masked_tbl partition month_id=202410/part=I > I0403 13:15:54.583890 1162572 CatalogOpExecutor.java:7222] > a2426d05d038f8f3:b9785d2100000000] 208 new files detected for table > masked_tbl partition month_id=202406/part=P > I0403 13:16:02.863479 1162572 CatalogOpExecutor.java:7222] > a2426d05d038f8f3:b9785d2100000000] 208 new files detected for table > masked_tbl partition month_id=202401/part=I > I0403 13:16:04.922019 1162572 MetastoreShim.java:470] > a2426d05d038f8f3:b9785d2100000000] Firing 24 insert event(s) for masked_tbl > I0403 13:16:05.297775 1162572 MetastoreShim.java:408] > a2426d05d038f8f3:b9785d2100000000] Time taken to fire insert events on table > masked_tbl: 375 msec > I0403 13:16:05.303035 1162572 HdfsTable.java:1271] > a2426d05d038f8f3:b9785d2100000000] Reloading metadata for 24 partition(s) of > masked_tbl (INSERT) > I0403 13:16:05.303103 1162572 HdfsTable.java:3085] > a2426d05d038f8f3:b9785d2100000000] Load Valid Write Id List Done. Time taken: > 1.597us > I0403 13:16:05.312436 1162572 ParallelFileMetadataLoader.java:225] > a2426d05d038f8f3:b9785d2100000000] Refreshing file and block metadata for 24 > paths for table masked_tbl using a thread pool of size 5 > I0403 13:19:21.831636 1162572 HdfsTable.java:835] > a2426d05d038f8f3:b9785d2100000000] Loaded file and block metadata for > masked_tbl partitions: month_id=202403/part=P, month_id=202408/part=P, > month_id=202412/part=I, and 21 others. Time taken: 3m16s > I0403 13:19:21.831907 1162572 HdfsTable.java:1311] > a2426d05d038f8f3:b9785d2100000000] Incrementally loaded table metadata for: > masked_tbl > W0403 13:19:21.832484 1162572 HdfsTable.java:1340] > a2426d05d038f8f3:b9785d2100000000] Time taken on loading table masked_tbl > exceeded warning threshold. Time: 3m16s > W0403 13:19:21.832736 1162572 JniUtil.java:203] > a2426d05d038f8f3:b9785d2100000000] Response too slow: size=766 (766B), > duration=1390522ms (23m10s), method: updateCatalog > I0403 13:19:21.832770 1162572 JniUtil.java:177] > a2426d05d038f8f3:b9785d2100000000] Finished updateCatalog request: Update > catalog for masked_tbl. Time spent: 23m10s{noformat} > The log "N new files detected for table tbl partition part_name" comes from > prepareInsertEventData(): > https://github.com/apache/impala/blob/047cf9ff4d3c68c32be0965fbc3cb0c245d3b3b1/fe/src/main/java/org/apache/impala/service/CatalogOpExecutor.java#L7757-L7759 > It takes time to create the HMS INSERT events maybe due to fetching the > checksum of each new files from the storage here: > https://github.com/apache/impala/blob/047cf9ff4d3c68c32be0965fbc3cb0c245d3b3b1/fe/src/main/java/org/apache/impala/service/CatalogOpExecutor.java#L7823 > Optimization for this will be done in another JIRA. This JIRA aims to add the > missing timeline item to show how long it takes to prepare data of the HMS > INSERT events. -- This message was sent by Atlassian Jira (v8.20.10#820010)