[
https://issues.apache.org/jira/browse/IMPALA-13884?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Quanlong Huang resolved IMPALA-13884.
-------------------------------------
Fix Version/s: Impala 5.0.0
Resolution: Fixed
Resolving this. Thank [~rizaon] and [~jasonmfehr] for the review!
> 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
> Priority: Major
> Fix For: Impala 5.0.0
>
>
> 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)