adutra commented on PR #1772: URL: https://github.com/apache/polaris/pull/1772#issuecomment-2936494778
So here is my analyzis: 1. `tableExists(ns1.history)` is called 2. `loadTable(ns1.history)` is called 3. Following the [logic](https://github.com/apache/iceberg/blob/76d7cefc63545c6686eef97859540b15fd35ef66/core/src/main/java/org/apache/iceberg/BaseMetastoreCatalog.java#L48) in `BaseMetastoreCatalog` a first `TableOperations` is created for the identifier `ns1.history`. 4. `IcebergCatalog.doRefresh()` is called for `ns1.history`, which [calls](https://github.com/apache/polaris/blob/5fe9fd9e5b7e7db5604011cf2de4197430882cef/service/common/src/main/java/org/apache/polaris/service/catalog/iceberg/IcebergCatalog.java#L1301) `PolarisResolutionManifest.getPassthroughResolvedPath(ns1.history)`. 5. `PolarisResolutionManifest.passthroughPaths` contains the key `ns1.history`, so that call doesn't throw, and `IcebergCatalog.doRefresh()` returns null => the table doesn't exist 7. Still in `BaseMetastoreCatalog`, another `TableOperations` [is created](https://github.com/apache/iceberg/blob/76d7cefc63545c6686eef97859540b15fd35ef66/core/src/main/java/org/apache/iceberg/BaseMetastoreCatalog.java#L104) for identifier `ns1` (trying to figure out if this is the base table of a hypothetical metadata table). 8. `IcebergCatalog.doRefresh()` is called again, but this time for `ns1`. 9. `PolarisResolutionManifest.getPassthroughResolvedPath(ns1)` is called, and that call throws, because `ns1` is not a key in `PolarisResolutionManifest.passthroughPaths`. I still don't know if we should fix something in the `Resolver` or change how `tableExists` is implemented as @fivetran-kostaszoumpatianos suggested. IMHO `getPassthroughResolvedPath` should be resilient to "unresolved" paths, or at least be prepared to receive the parent of a resolved path. @dennishuo @collado-mike WDYT? -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: issues-unsubscr...@polaris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org