fix: correctly detect which catalogs we should vend credentials for#313
Conversation
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
| except Exception: | ||
| return None |
There was a problem hiding this comment.
Do we want to get this out for diagnostic purposes somehow? I'm not really sure how this call could fail.
There was a problem hiding this comment.
I'm not sure what you mean? If we want to report it?
There was a problem hiding this comment.
like if you hit this exception let's log something or die louder rather than swallow it and pretend nothing went wrong, since it shouldn't break in usual usage
There was a problem hiding this comment.
I added a log here. But we should not die loudly:
We use this function to answer: “Is this string catalog a Tower-managed tower-catalog, so we should vend Tower credentials, or is it BYO/S3 Tables, so we should use PyIceberg config?”
If the probe fails, we still have a valid fallback path: check for PyIceberg config and then call load_catalog(). That’s especially important for BYO/S3 Tables customers, because their catalog may work perfectly through runner-injected PYICEBERG_CATALOG__... config even if Tower’s describe API is unavailable, unauthorized, stale, or temporarily failing.
8066fe8 to
dd39347
Compare
The problem was that we try to vend credentials for all tables in the
tables()call so it messed up s3 tables. This fixes that