Csaba Ringhofer has posted comments on this change. ( http://gerrit.cloudera.org:8080/24052 )
Change subject: IMPALA-14792: Try avoiding hadoop.fs.Path when loading Iceberg tables ...................................................................... Patch Set 5: (6 comments) http://gerrit.cloudera.org:8080/#/c/24052/4//COMMIT_MSG Commit Message: http://gerrit.cloudera.org:8080/#/c/24052/4//COMMIT_MSG@11 PS4, Line 11: locations must be normalized. > Do we see any signs of this ever changing? I assume it'd be pretty visible I don't think that writing non-normalized path will be ever ok. Relative paths will be supported at some point, but those should be normalized too. http://gerrit.cloudera.org:8080/#/c/24052/4/fe/src/main/java/org/apache/impala/catalog/IcebergContentFileStore.java File fe/src/main/java/org/apache/impala/catalog/IcebergContentFileStore.java: http://gerrit.cloudera.org:8080/#/c/24052/4/fe/src/main/java/org/apache/impala/catalog/IcebergContentFileStore.java@a194 PS4, Line 194: > I wonder if switching to getRawPath() would have been almost as fast. I don The problem is not with getting the path, but with constructing the Path/Uri. Path uses a few regexps in the constructor, which seemed the biggest CU user. http://gerrit.cloudera.org:8080/#/c/24052/4/fe/src/main/java/org/apache/impala/catalog/IcebergContentFileStore.java@193 PS4, Line 193: > BaseTable.location() is not a simple getter, it should be moved outside the Done http://gerrit.cloudera.org:8080/#/c/24052/4/fe/src/main/java/org/apache/impala/catalog/IcebergContentFileStore.java@365 PS4, Line 365: > We could log the URI here. Maybe with trace-level only, in case there are l Done http://gerrit.cloudera.org:8080/#/c/24052/4/fe/src/main/java/org/apache/impala/catalog/IcebergFileMetadataLoader.java File fe/src/main/java/org/apache/impala/catalog/IcebergFileMetadataLoader.java: http://gerrit.cloudera.org:8080/#/c/24052/4/fe/src/main/java/org/apache/impala/catalog/IcebergFileMetadataLoader.java@355 PS4, Line 355: tring toLookupPath(String path) throws Tabl > nit: path.length() > tablePathStr_.length() Done http://gerrit.cloudera.org:8080/#/c/24052/4/fe/src/main/java/org/apache/impala/catalog/IcebergFileMetadataLoader.java@356 PS4, Line 356: if (path.startsWith(tablePathStr_) > Could tablePathStr_ ever have '/' at the end of it? It shouldn't have '/' at the end - actually IcebergContentFileStore relies on this when creating absolute paths, as getAbsolutePath(String rootPath) adds an extra / to root path. -- To view, visit http://gerrit.cloudera.org:8080/24052 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Idce89117195e0fa64fdd6a6c576bce09ec2e75ea Gerrit-Change-Number: 24052 Gerrit-PatchSet: 5 Gerrit-Owner: Csaba Ringhofer <[email protected]> Gerrit-Reviewer: Csaba Ringhofer <[email protected]> Gerrit-Reviewer: Impala Public Jenkins <[email protected]> Gerrit-Reviewer: Michael Smith <[email protected]> Gerrit-Reviewer: Zoltan Borok-Nagy <[email protected]> Gerrit-Comment-Date: Thu, 05 Mar 2026 13:42:02 +0000 Gerrit-HasComments: Yes
