Quanlong Huang has posted comments on this change. ( http://gerrit.cloudera.org:8080/19838 )
Change subject: IMPALA-11534: Skip reloading file metadata for some ALTER_TABLE events ...................................................................... Patch Set 1: (11 comments) Thanks for making this change! http://gerrit.cloudera.org:8080/#/c/19838/1//COMMIT_MSG Commit Message: http://gerrit.cloudera.org:8080/#/c/19838/1//COMMIT_MSG@19 PS1, Line 19: file_metadata_reload_whitelist nit: can we use a name indicating this is a list of table properties, e.g. file_metadata_reload_properties? http://gerrit.cloudera.org:8080/#/c/19838/1//COMMIT_MSG@25 PS1, Line 25: statements the file metadata isn't reloaded. Could you add a custom cluster test for the new flag? http://gerrit.cloudera.org:8080/#/c/19838/1/fe/src/main/java/org/apache/impala/catalog/CatalogServiceCatalog.java File fe/src/main/java/org/apache/impala/catalog/CatalogServiceCatalog.java: http://gerrit.cloudera.org:8080/#/c/19838/1/fe/src/main/java/org/apache/impala/catalog/CatalogServiceCatalog.java@2569 PS1, Line 2569: null nit: please also comment this with /*partitionToEventId*/ http://gerrit.cloudera.org:8080/#/c/19838/1/fe/src/main/java/org/apache/impala/catalog/CatalogServiceCatalog.java@3881 PS1, Line 3881: statement nit: event http://gerrit.cloudera.org:8080/#/c/19838/1/fe/src/main/java/org/apache/impala/catalog/CatalogServiceCatalog.java@3894 PS1, Line 3894: isFieldSchemaChanged(beforeTable, afterTable) || : !beforeTable.getOwner().equals(afterTable.getOwner()) Shouldn't we check these two before checking the whitelist table properties? Or is it on purpose to let the empty whitelist disable this optimization? http://gerrit.cloudera.org:8080/#/c/19838/1/fe/src/main/java/org/apache/impala/catalog/CatalogServiceCatalog.java@3897 PS1, Line 3897: return true; Should we check if there are other changes between "beforeTable" and "afterTable"? Is it possible that a HMS client changes the table location as well as table schema in one RPC (so generate one ALTER event)? http://gerrit.cloudera.org:8080/#/c/19838/1/fe/src/main/java/org/apache/impala/catalog/CatalogServiceCatalog.java@3907 PS1, Line 3907: //check if columns are added or removed : if (beforeCols.size() != afterCols.size()) : return true; nit: needs a space after "//". Needs brackets for the if-clause based on our code style. http://gerrit.cloudera.org:8080/#/c/19838/1/fe/src/main/java/org/apache/impala/catalog/CatalogServiceCatalog.java@3912 PS1, Line 3912: for (int i=0;i<beforeCols.size();i++) { nit: need spaces for (int i = 0; i < beforeCols.size(); i++) { http://gerrit.cloudera.org:8080/#/c/19838/1/fe/src/main/java/org/apache/impala/catalog/CatalogServiceCatalog.java@3928 PS1, Line 3928: whitelistConfigs Please make 'whitelistConfigs' a constant field so we don't need to parse the whilelist string for every event. http://gerrit.cloudera.org:8080/#/c/19838/1/fe/src/main/java/org/apache/impala/catalog/CatalogServiceCatalog.java@3932 PS1, Line 3932: afterTable.getParameters().containsKey(whitelistConfig)) || Are we missing the case of "before && !after", i.e. the property is removed? http://gerrit.cloudera.org:8080/#/c/19838/1/fe/src/main/java/org/apache/impala/catalog/CatalogServiceCatalog.java@3944 PS1, Line 3944: nit: remove blank lines -- To view, visit http://gerrit.cloudera.org:8080/19838 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ia66b96a7c4b7f50fbf46b2e02296cd29a47347b6 Gerrit-Change-Number: 19838 Gerrit-PatchSet: 1 Gerrit-Owner: Sai Hemanth Gantasala <[email protected]> Gerrit-Reviewer: Csaba Ringhofer <[email protected]> Gerrit-Reviewer: Impala Public Jenkins <[email protected]> Gerrit-Reviewer: Quanlong Huang <[email protected]> Gerrit-Reviewer: Sai Hemanth Gantasala <[email protected]> Gerrit-Comment-Date: Thu, 04 May 2023 02:34:04 +0000 Gerrit-HasComments: Yes
