Skip to content

Conversation

@TimisRobert
Copy link

Describe your changes:

Fixes #24551

Add catalogId parameter to the Athena connector to enable querying databases from S3 Tables catalogs and cross-account Glue Data Catalogs.

Changes:

  • Add catalogId property to athenaConnection.json schema
  • Pass catalog_name to pyathena connection URL for database listing
  • Pass CatalogId to Glue API calls (get_databases, get_table)
  • Pass CatalogId to Lake Formation tag APIs
  • Add field documentation in Athena.md

Testing:
Tested locally with an S3 Tables catalog, ingestion ran fine.

Note on migrations: No migration needed - catalogId is a new optional field with no default value. Existing connections will continue to work without it.

Type of change:

  • Bug fix
  • Improvement
  • New feature
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation

Checklist:

  • I have read the CONTRIBUTING document.
  • My PR title is Fixes <issue-number>: <short explanation>
  • I have commented on my code, particularly in hard-to-understand areas.
  • For JSON Schema changes: I updated the migration scripts or explained why it is not needed.
  • The issue properly describes why the new feature is needed, what's the goal, and how we are building it.
  • I have updated the documentation.
  • I have added tests around the new logic.

@github-actions
Copy link
Contributor

Hi there 👋 Thanks for your contribution!

The OpenMetadata team will review the PR shortly! Once it has been labeled as safe to test, the CI workflows
will start executing and we'll be able to make sure everything is working as expected.

Let us know if you need any help!

@github-actions
Copy link
Contributor

Hi there 👋 Thanks for your contribution!

The OpenMetadata team will review the PR shortly! Once it has been labeled as safe to test, the CI workflows
will start executing and we'll be able to make sure everything is working as expected.

Let us know if you need any help!

@gitar-bot
Copy link

gitar-bot bot commented Jan 18, 2026

Code Review ✅ Approved

Clean feature addition that consistently propagates the optional catalogId parameter across all relevant Athena/Glue API calls with proper defensive checks.

What Works Well

The implementation properly handles the optional catalogId throughout the codebase, using consistent conditional checks before adding the parameter to API calls. URL encoding is correctly applied in the connection URL, and the documentation clearly explains the use cases for cross-account and S3 Tables scenarios.

Options

Auto-apply is off Gitar will not commit updates to this branch.
Display: compact Hiding non-applicable rules.

Comment with these commands to change:

Auto-apply Compact
gitar auto-apply:on         
gitar display:verbose         

Was this helpful? React with 👍 / 👎 | This comment will update automatically (Docs)

@TimisRobert
Copy link
Author

TimisRobert commented Jan 18, 2026

Cross account s3 tables catalog not tested, only same account tested and working.
Using <account-id>:s3tablescatalog/<bucket-name> gave me issues on the athena connection.

…ue catalogs

Add catalogId parameter to the Athena connector to enable querying databases
from S3 Tables catalogs and cross-account Glue Data Catalogs.

Changes:
- Add catalogId property to athenaConnection.json schema
- Pass catalog_name to pyathena connection URL for database listing
- Pass CatalogId to Glue API calls (get_databases, get_table)
- Pass CatalogId to Lake Formation tag APIs
- Add field documentation

Closes open-metadata#24551
@github-actions
Copy link
Contributor

Hi there 👋 Thanks for your contribution!

The OpenMetadata team will review the PR shortly! Once it has been labeled as safe to test, the CI workflows
will start executing and we'll be able to make sure everything is working as expected.

Let us know if you need any help!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Accept catalog id as parameter when calling glue get databases in Athena connector

1 participant