Tim Armstrong has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/12118 )

Change subject: IMPALA-7970 : Add support for metastore event based automatic 
invalidate
......................................................................


Patch Set 19:

(1 comment)

Thanks for addressing my comments. I think there might be one (probably rare) 
race that is possible.

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

http://gerrit.cloudera.org:8080/#/c/12118/19/fe/src/main/java/org/apache/impala/catalog/events/MetastoreEventsProcessor.java@269
PS19, Line 269:       lastSyncedEventId_ =
I think fetching the event ID here can lead to a race where we miss a 
notification, e.g.:

1. CatalogServiceCatalog.reset() is called
2. CatalogServiceCatalog.reset() loads DB and table metadata, which does not 
include table X.
3. Table X is added to the HMS, e.g. via Hive
4. This function fetches the last event ID
5. The processor starts processing events, but doesn't see the table X create 
event.

I think the solution is to fetch the last event ID earlier in 
CatalogServiceCatalog.reset() and pass it into this function.



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

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Ic70b27780560b7ac9b33418d132b36cd0ca4abf7
Gerrit-Change-Number: 12118
Gerrit-PatchSet: 19
Gerrit-Owner: Vihang Karajgaonkar <vih...@cloudera.com>
Gerrit-Reviewer: Bharath Vissapragada <bhara...@cloudera.com>
Gerrit-Reviewer: Impala Public Jenkins <impala-public-jenk...@cloudera.com>
Gerrit-Reviewer: Paul Rogers <prog...@cloudera.com>
Gerrit-Reviewer: Tim Armstrong <tarmstr...@cloudera.com>
Gerrit-Reviewer: Vihang Karajgaonkar <vih...@cloudera.com>
Gerrit-Comment-Date: Thu, 17 Jan 2019 22:22:34 +0000
Gerrit-HasComments: Yes

Reply via email to