Arnab Karmakar has posted comments on this change. ( http://gerrit.cloudera.org:8080/23804 )
Change subject: IMPALA-13863: Add metric to track number of loaded tables in catalogd ...................................................................... Patch Set 5: (4 comments) http://gerrit.cloudera.org:8080/#/c/23804/3/fe/src/main/java/org/apache/impala/catalog/Db.java File fe/src/main/java/org/apache/impala/catalog/Db.java: http://gerrit.cloudera.org:8080/#/c/23804/3/fe/src/main/java/org/apache/impala/catalog/Db.java@218 PS3, Line 218: tableCache_.add(table, Catalog.TABLE_ADD_UPDATE_FUNC); > Sorry that if I didn't make this clear. What I suggested is changing the me Thanks for the advice! Now the code is much more cleaner than earlier. http://gerrit.cloudera.org:8080/#/c/23804/1/tests/custom_cluster/test_automatic_invalidation.py File tests/custom_cluster/test_automatic_invalidation.py: http://gerrit.cloudera.org:8080/#/c/23804/1/tests/custom_cluster/test_automatic_invalidation.py@125 PS1, Line 125: assert count_after_load == 1, ( > If cursor.execute() runs the DDL asynchronorously, we can use self.execute_ I think thats correct but even though self.execute_query() blocks until the query completes, there can be a brief delay for catalog state to fully update in catalogd. The 1-second sleeps after DDL operations account for this. http://gerrit.cloudera.org:8080/#/c/23804/4/tests/custom_cluster/test_automatic_invalidation.py File tests/custom_cluster/test_automatic_invalidation.py: http://gerrit.cloudera.org:8080/#/c/23804/4/tests/custom_cluster/test_automatic_invalidation.py@228 PS4, Line 228: EventProcessorUtils.wait_for_event_processing(self) : # Additional sleep to al > Use EventProcessorUtils.wait_for_event_processing(self). Done, so EventProcessorUtils.wait_for_event_processing(self) is waiting for the event to be synced and for catalog version to propagate to all coordinators, but I think it's not waiting for the counter update to complete (actual catalog object operations to complete). I still had to add a brief sleep after it otherwise its not updating and the counter stays at 1. http://gerrit.cloudera.org:8080/#/c/23804/4/tests/custom_cluster/test_automatic_invalidation.py@271 PS4, Line 271: : count_after_t > I'm confused why we need this sleep. If the table got invalidated, what add Honestly Im also a little puzzled, I removed the sleep() and its working now. I believe this is caused by the async behaviour, the metrics are read from current state but that state is still being updated asynchronously. -- To view, visit http://gerrit.cloudera.org:8080/23804 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: I5aa54f9f7507709b654df22e24592799811e8b6c Gerrit-Change-Number: 23804 Gerrit-PatchSet: 5 Gerrit-Owner: Arnab Karmakar <[email protected]> Gerrit-Reviewer: Arnab Karmakar <[email protected]> Gerrit-Reviewer: Impala Public Jenkins <[email protected]> Gerrit-Reviewer: Michael Smith <[email protected]> Gerrit-Reviewer: Pranav Lodha <[email protected]> Gerrit-Reviewer: Quanlong Huang <[email protected]> Gerrit-Comment-Date: Mon, 29 Dec 2025 06:15:15 +0000 Gerrit-HasComments: Yes
