Alex Behm has posted comments on this change. Change subject: IMPALA-4998: Fix missing table lock acquisition. ......................................................................
Patch Set 5: (1 comment) http://gerrit.cloudera.org:8080/#/c/6177/5/fe/src/main/java/org/apache/impala/catalog/TableLoadingMgr.java File fe/src/main/java/org/apache/impala/catalog/TableLoadingMgr.java: Line 318: if (tbl == null || tbl instanceof IncompleteTable || !tbl.isLoaded()) return; > Doesn't this mean that we can never "refresh" an IncompleteTable? Without t We never execute a REFRESH command asynchronously. This particular code is only called for HDFS caching. When caching a table or partition, we asynchronously wait for the HDFS caching request to fully complete, and once that is done, we automatically issue a REFRESH from this code path to pick up the new cached blocks. I'm not sure this flow even makes sense, but it doesn't make sense to me to load an IncompleteTable here or 'fix' an IncompleteTable that failed to load for whatever reason. That seems beyond the scope of what we are trying to do here and could lead to confusion. Take a look at asyncRefreshThread_ in TableLoadingMgr. -- To view, visit http://gerrit.cloudera.org:8080/6177 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I0e0270daf59fce95f1a1520fc5aaf91d3a7b99fe Gerrit-PatchSet: 5 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Alex Behm <[email protected]> Gerrit-Reviewer: Alex Behm <[email protected]> Gerrit-Reviewer: Bharath Vissapragada <[email protected]> Gerrit-HasComments: Yes
