Quanlong Huang created IMPALA-13884: ---------------------------------------
Summary: Improves logging of slow event processing Key: IMPALA-13884 URL: https://issues.apache.org/jira/browse/IMPALA-13884 Project: IMPALA Issue Type: Improvement Reporter: Quanlong Huang Assignee: Quanlong Huang I saw a slow event processing log like this: {code:java} W0306 20:54:02.202912 279 MetastoreEventsProcessor.java:1417] Top 10 expensive events: (type=INSERT, id=4485886, target=highpartition_small_impala.stocks_highpartition_small_file, duration_ms=40529)...{code} However, I can't find any logs of this event directly. Instead, I have to find logs of the previous event 4485885 {code:java} I0306 20:52:29.213896 279 MetastoreEvents.java:838] EventId: 4485885 EventType: ADD_PARTITION Incremented skipped metric to 1101327 since no partitions were added.{code} and the next event 4485887 {code:java} I0306 20:53:09.742729 279 MetastoreEvents.java:827] EventId: 4485887 EventType: ALTER_PARTITION Not processing this event as it only modifies some partition parameters which can be ignored.{code} Then all the logs of thread id 279 between these two are the logs of event 4485886. Note that currently event processing is executed in a dedicated thread (single thread). {noformat} W0306 20:53:03.690521 279 CatalogServiceCatalog.java:631] Write lock for table highpartition_small_impala.stocks_highpartition_small_file was acquired in 34477 msec W0306 20:53:09.326007 279 CatalogServiceCatalog.java:631] Write lock for table highpartition_small_impala.stocks_highpartition_small_file was acquired in 5635 msec I0306 20:53:09.326260 279 HdfsTable.java:2914] Reloading partition metadata: highpartition_small_impala.stocks_highpartition_small_file year=2022/month=Feb/day=10 (INSERT event) I0306 20:53:09.326365 279 MetaStoreUtil.java:191] Fetching 1 partitions for: highpartition_small_impala.stocks_highpartition_small_file using partition batch size: 1000 I0306 20:53:09.339805 279 MetaStoreUtil.java:223] Fetched 1/1 partitions for table highpartition_small_impala.stocks_highpartition_small_file I0306 20:53:09.342584 279 HdfsTable.java:3072] Setting the latest refresh event id to 5016235 for the reloaded 1 partitions I0306 20:53:09.342660 279 HdfsTable.java:3075] for table highpartition_small_impala.stocks_highpartition_small_file, file metadataOps: FORCE_LOAD, refreshing file metadata for 1 out of 1 partitions to reload in reloadPartitions() I0306 20:53:09.742367 279 HdfsTable.java:847] Loaded file and block metadata for highpartition_small_impala.stocks_highpartition_small_file partitions: year=2022/month=Feb/day=10. Time taken: 399.520ms{noformat} We might not be always lucky to have logs of the previous and next events. It'd be helpful to show the event id somewhere, e.g. in the reason of reloading "(INSERT event)". For the warning logs of waiting for write locks too long, we should log the stacktrace so we know what's waiting for it. For the skipped events, it'd be helpful to log the table name and partition name. -- This message was sent by Atlassian Jira (v8.20.10#820010)