Skip to content

Add lightweight tableExists endpoint to tables service#631

Open
jiang95-dev wants to merge 1 commit into
linkedin:mainfrom
jiang95-dev:lejiang/add-table-exists-endpoint
Open

Add lightweight tableExists endpoint to tables service#631
jiang95-dev wants to merge 1 commit into
linkedin:mainfrom
jiang95-dev:lejiang/add-table-exists-endpoint

Conversation

@jiang95-dev

@jiang95-dev jiang95-dev commented Jun 11, 2026

Copy link
Copy Markdown
Collaborator

Summary

Add a new lightweight tableExists endpoint which bypass HDFS and only query HTS. This is useful to Metacat and ODD which only need to know if table exists without knowing its metadata.

Changes

  • Client-facing API Changes
  • Internal API Changes
  • Bug Fixes
  • New Features
  • Performance Improvements
  • Code Style
  • Refactoring
  • Documentation
  • Tests

For all the boxes checked, please include additional details of the changes made in this pull request.

Testing Done

  • Manually Tested on local docker setup. Please include commands ran, and their output.
  • Added new tests for the changes made.
  • Updated existing tests to reflect the changes made.
  • No tests added or updated. Please explain why. If unsure, please feel free to ask for help.
  • Some other form of testing like staging or soak time in production. Please explain.

For all the boxes checked, include a detailed description of the testing done for the changes made in this pull request.

Additional Information

  • Breaking Changes
  • Deprecations
  • Large PR broken into smaller PRs, and PR plan linked in the description.

For all the boxes checked, include additional details of the changes made in this pull request.

Adds GET /v0|v1/databases/{databaseId}/tables/{tableId}/exists which
returns HTTP 200 if the table exists and HTTP 404 otherwise.

Existence is determined via a HouseTable reference lookup
(findTableRefById) that does not parse metadata.json or read from HDFS,
making it cheaper than GET Table. Authorization is enforced via
@secured(GET_TABLE_METADATA).

Adds service/handler/controller plumbing plus e2e and mock controller
tests, including a test that verifies existence is reported even when
metadata.json is corrupted (since GET Table would fail in that case).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
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.

1 participant