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

Reply via email to