Skip to content

[Feature] Add $properties Iceberg Metadata Table#68504

Open
mixermt wants to merge 5 commits intoStarRocks:mainfrom
mixermt:add-iceberg-properties-table
Open

[Feature] Add $properties Iceberg Metadata Table#68504
mixermt wants to merge 5 commits intoStarRocks:mainfrom
mixermt:add-iceberg-properties-table

Conversation

@mixermt
Copy link

@mixermt mixermt commented Jan 27, 2026

Why I'm doing:

Currently, StarRocks exposes various Iceberg metadata through metadata tables (table$snapshots, table$history, table$partitions, etc.), but table-level properties are not accessible via SQL. Users need to use external tools or access the Iceberg catalog directly to view configuration properties like location, write.format.default, or compression settings.

This feature adds a table$properties metadata table to expose Iceberg table properties, similar to Trino's implementation, providing a consistent and queryable interface for table configuration.

What I'm doing:

Add support for querying Iceberg table properties via table$properties metadata table syntax:

SELECT * FROM iceberg_catalog.db.my_table$properties;

Returns table properties as key-value pairs:

key value
location s3://bucket/warehouse/db/my_table
write.format.default parquet

Implementation includes:

  • Added PROPERTIES to MetadataTableType enum
  • Created IcebergPropertiesTable class with key/value schema
  • Created IcebergPropertiesTableScanner to read from table.properties() API
  • Added ICEBERG_PROPERTIES_TABLE to thrift TTableType enum
  • Registered in factory classes and BE descriptors

Fixes #issue

What type of PR is this:

  • BugFix
  • Feature
  • Enhancement
  • Refactor
  • UT
  • Doc
  • Tool

Does this PR entail a change in behavior?

  • Yes, this PR will result in a change in behavior.
  • No, this PR will not result in a change in behavior.

If yes, please specify the type of change:

  • Interface/UI changes: syntax, type conversion, expression evaluation, display information
  • Parameter changes: default values, similar parameters but with different default values
  • Policy changes: use new policy to replace old one, functionality automatically enabled
  • Feature removed
  • Miscellaneous: upgrade & downgrade compatibility, etc.

Checklist:

  • I have added test cases for my bug fix or my new feature
  • This pr needs user documentation (for new or modified features or behaviors)
    • I have added documentation for my new feature or new function
    • This pr needs auto generate documentation
  • This is a backport pr

@mixermt mixermt requested review from a team as code owners January 27, 2026 10:24
@CLAassistant
Copy link

CLAassistant commented Jan 27, 2026

CLA assistant check
All committers have signed the CLA.

@github-actions github-actions bot added behavior_changed title needs [type] documentation Improvements or additions to documentation labels Jan 27, 2026
@wanpengfei-git wanpengfei-git requested a review from a team January 27, 2026 10:25
@mixermt mixermt changed the title Add "properties" Iceberg Metadata Table [Feature] Add "properties" Iceberg Metadata Table Jan 27, 2026
@mixermt mixermt changed the title [Feature] Add "properties" Iceberg Metadata Table [Feature] Add $properties Iceberg Metadata Table Jan 27, 2026
@StarRocks-Reviewer
Copy link

@cursor review

Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Bugbot reviewed your changes and found no new issues!

Comment @cursor review or bugbot run to trigger another review on this PR

@alvin-celerdata
Copy link
Contributor

@codex review

Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: a89c05cbd7

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@Youngwb
Copy link
Contributor

Youngwb commented Jan 28, 2026

I'm curious why you don't directly use show create table to check the properties.

@mixermt
Copy link
Author

mixermt commented Jan 28, 2026

I'm curious why you don't directly use show create table to check the properties.

@Youngwb SHOW CREATE TABLE output is not queryable data, you need to make huge parsing effort to get simple table properties.
Additionally this is something that already supported by many query/computation engines like Trino (with the same syntax) or in Spark with SHOW TBLPROPERTIES.

@mixermt
Copy link
Author

mixermt commented Jan 28, 2026

@codex review

@chatgpt-codex-connector
Copy link

To use Codex here, create a Codex account and connect to github.

@mixermt mixermt force-pushed the add-iceberg-properties-table branch from 1df50d9 to 589f0ab Compare January 28, 2026 22:30
@mixermt
Copy link
Author

mixermt commented Feb 2, 2026

@alvin-celerdata , @stephen-shelby
Not sure about the process, is there any blocker on my side ?

@alvin-celerdata
Copy link
Contributor

@codex review

Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 589f0ab5bb

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@github-actions
Copy link
Contributor

github-actions bot commented Feb 2, 2026

[Java-Extensions Incremental Coverage Report]

fail : 0 / 2 (00.00%)

file detail

path covered_line new_line coverage not_covered_line_detail
🔵 com/starrocks/connector/iceberg/IcebergMetadataScannerFactory.java 0 2 00.00% [56, 57]

@github-actions
Copy link
Contributor

github-actions bot commented Feb 2, 2026

[FE Incremental Coverage Report]

pass : 0 / 0 (0%)

@github-actions
Copy link
Contributor

github-actions bot commented Feb 2, 2026

[BE Incremental Coverage Report]

pass : 0 / 0 (0%)

@alvin-celerdata
Copy link
Contributor

@codex review

@chatgpt-codex-connector
Copy link

Codex Review: Didn't find any major issues. Keep them coming!

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@mixermt
Copy link
Author

mixermt commented Feb 6, 2026

@alvin-celerdata what are the next steps? First SR contribution.
I can't really understand the complete workflow.

Signed-off-by: Michael Taranov <michael.taranov@taboola.com>
Signed-off-by: Michael Taranov <michael.taranov@taboola.com>
…test

Signed-off-by: Michael Taranov <michael.taranov@taboola.com>
Signed-off-by: Michael Taranov <michael.taranov@taboola.com>
Signed-off-by: Michael Taranov <michael.taranov@taboola.com>
@mixermt mixermt force-pushed the add-iceberg-properties-table branch from b9ce6d4 to 812446a Compare February 19, 2026 17:32
@github-actions
Copy link
Contributor

🌎 Translation Required?

All translation files are up to date.
Great job! No translation actions are required for this PR.

🕒 Last updated: Thu, 19 Feb 2026 17:33:08 GMT

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

Labels

docs-maintainer documentation Improvements or additions to documentation PROTO-REVIEW

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants

Comments