Quanlong Huang has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/22997 )

Change subject: IMPALA-13801: Support greatest synced event with hierarchical 
metastore event processing
......................................................................


Patch Set 19:

(10 comments)

http://gerrit.cloudera.org:8080/#/c/22997/17//COMMIT_MSG
Commit Message:

http://gerrit.cloudera.org:8080/#/c/22997/17//COMMIT_MSG@24
PS17, Line 24: 4. Greatest synced event id is used in IMPALA-12152 changes. When
             :    greatest synced event id becomes greater than or equal to
             :    waitForEventId, all the required events are definitely synced.
Just a note, as now table events are processed in parallel, we can improve the 
waitForEventSync feature to check table level lastSyncedEventIds for most of 
the scenarios.


http://gerrit.cloudera.org:8080/#/c/22997/17/fe/src/main/java/org/apache/impala/catalog/events/DbEventExecutor.java
File fe/src/main/java/org/apache/impala/catalog/events/DbEventExecutor.java:

http://gerrit.cloudera.org:8080/#/c/22997/17/fe/src/main/java/org/apache/impala/catalog/events/DbEventExecutor.java@294
PS17, Line 294: currentTime
nit: "startTime" might be better


http://gerrit.cloudera.org:8080/#/c/22997/17/fe/src/main/java/org/apache/impala/catalog/events/EventExecutorService.java
File 
fe/src/main/java/org/apache/impala/catalog/events/EventExecutorService.java:

http://gerrit.cloudera.org:8080/#/c/22997/17/fe/src/main/java/org/apache/impala/catalog/events/EventExecutorService.java@83
PS17, Line 83: Delimiter is a kind of metastore event that did not
             :   // produce any pseudo-events.
nit: can we give an example? E.g. add "e.g. INSERT events".


http://gerrit.cloudera.org:8080/#/c/22997/17/fe/src/main/java/org/apache/impala/catalog/events/EventExecutorService.java@88
PS17, Line 88: Boolean
It seems moving this marker into MetastoreEvent as a new field is cleaner than 
using Pair.


http://gerrit.cloudera.org:8080/#/c/22997/17/fe/src/main/java/org/apache/impala/catalog/events/EventExecutorService.java@441
PS17, Line 441: ;
nit: use event.getEventDesc() to also show the eventType.


http://gerrit.cloudera.org:8080/#/c/22997/17/fe/src/main/java/org/apache/impala/catalog/events/EventExecutorService.java@472
PS17, Line 472:
nit: use value.getFirst().getEventDesc() to also show the eventType.


http://gerrit.cloudera.org:8080/#/c/22997/18/fe/src/main/java/org/apache/impala/catalog/events/EventExecutorService.java
File 
fe/src/main/java/org/apache/impala/catalog/events/EventExecutorService.java:

http://gerrit.cloudera.org:8080/#/c/22997/18/fe/src/main/java/org/apache/impala/catalog/events/EventExecutorService.java@472
PS18, Line 472:     if (value == null) return;
In which case will this happen? Could you add a comment about it? Do we need to 
do the work on L481-490?


http://gerrit.cloudera.org:8080/#/c/22997/18/fe/src/main/java/org/apache/impala/catalog/events/EventExecutorService.java@491
PS18, Line 491: Current dispatched event count
nit: "dispatched event count" sounds like something that is monotonically 
increasing. Maybe it's clearer to say "Current count of dispatched events that 
are not in the processedLog".


http://gerrit.cloudera.org:8080/#/c/22997/19/fe/src/main/java/org/apache/impala/catalog/events/EventExecutorService.java
File 
fe/src/main/java/org/apache/impala/catalog/events/EventExecutorService.java:

http://gerrit.cloudera.org:8080/#/c/22997/19/fe/src/main/java/org/apache/impala/catalog/events/EventExecutorService.java@518
PS19, Line 518: Current processed event count
nit: "processed event count" also sounds like something that is monotonically 
increasing. Maybe add "tracked" is more cleared, i.e. "Current count of 
processed events that are tracked".


http://gerrit.cloudera.org:8080/#/c/22997/19/fe/src/test/java/org/apache/impala/catalog/events/EventExecutorServiceTest.java
File 
fe/src/test/java/org/apache/impala/catalog/events/EventExecutorServiceTest.java:

http://gerrit.cloudera.org:8080/#/c/22997/19/fe/src/test/java/org/apache/impala/catalog/events/EventExecutorServiceTest.java@805
PS19, Line 805: }
Can we add test coverage on using addTo/removeFromInProgressLog() and 
pruneProcessedLog() in different scenarios? There are several branches in those 
methods that need test, E.g. assuming event 1 and 6 are non-delimiter events, 
add 1, 2, 3, 4, 5, 6 and then remove 3 and check greatestSyncedEventId.



--
To view, visit http://gerrit.cloudera.org:8080/22997
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I26240f36aaf85125428dc39a66a2a1e4d3197e85
Gerrit-Change-Number: 22997
Gerrit-PatchSet: 19
Gerrit-Owner: Anonymous Coward <k.venureddy2...@gmail.com>
Gerrit-Reviewer: Anonymous Coward <k.venureddy2...@gmail.com>
Gerrit-Reviewer: Csaba Ringhofer <csringho...@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <impala-public-jenk...@cloudera.com>
Gerrit-Reviewer: Quanlong Huang <huangquanl...@gmail.com>
Gerrit-Reviewer: Riza Suminto <riza.sumi...@cloudera.com>
Gerrit-Reviewer: Sai Hemanth Gantasala <saihema...@cloudera.com>
Gerrit-Comment-Date: Mon, 08 Sep 2025 08:06:56 +0000
Gerrit-HasComments: Yes

Reply via email to