Skip to content

Fix table name encoding in data lake rest catalog#87020

Merged
alexey-milovidov merged 4 commits intoClickHouse:masterfrom
ianton-ru:iceberg_table_name_encode
Oct 20, 2025
Merged

Fix table name encoding in data lake rest catalog#87020
alexey-milovidov merged 4 commits intoClickHouse:masterfrom
ianton-ru:iceberg_table_name_encode

Conversation

@ianton-ru
Copy link
Contributor

@ianton-ru ianton-ru commented Sep 11, 2025

Changelog category (leave one):

  • Bug Fix (user-visible misbehavior in an official stable release)

Changelog entry (a user-readable short description of the changes that goes into CHANGELOG.md):

Fix data lake tables with a percent-encoded sequence in the name. Closes #86626.

Documentation entry for user-facing changes

Solved #86626
Clickhouse can't work with data lake tables when table name contains encoded sequence '%2F'.
This PR allows to work with these tables.

It's not clear what is a correct way, to interpret names as 'a/b' or 'a%2Fb', this PR makes second option.

  • Documentation is written (mandatory for new features)

@scanhex12 scanhex12 self-assigned this Sep 11, 2025
@scanhex12 scanhex12 added the can be tested Allows running workflows for external contributors label Sep 11, 2025
@clickhouse-gh
Copy link
Contributor

clickhouse-gh bot commented Sep 11, 2025

Workflow [PR], commit [17847be]

Summary:

@clickhouse-gh clickhouse-gh bot added the pr-bugfix Pull request with bugfix, not backported by default label Sep 11, 2025
@ianton-ru
Copy link
Contributor Author

Build amd_release fails with strange notice:

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
success [Build (amd_release)]
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

ERROR: Run failed with exit code [-15]

Looks like CI issue

@clickhouse-gh
Copy link
Contributor

clickhouse-gh bot commented Oct 14, 2025

Dear @scanhex12, this PR hasn't been updated for a while. You will be unassigned. Will you continue working on it? If so, please feel free to reassign yourself.

const auto & context = getContext();

Poco::URI url(base_url / endpoint);
Poco::URI url(base_url / endpoint, false);
Copy link
Member

Choose a reason for hiding this comment

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

Add a comment.

const auto table_name = current_table_json->get("name").extract<String>();
const auto table_name_raw = current_table_json->get("name").extract<String>();
std::string table_name;
Poco::URI::encode(table_name_raw, "/", table_name);
Copy link
Member

Choose a reason for hiding this comment

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

Add a comment.

}

Poco::URI url(endpoint);
Poco::URI url(endpoint, false);
Copy link
Member

Choose a reason for hiding this comment

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

Add a comment.

Copy link
Member

@alexey-milovidov alexey-milovidov left a comment

Choose a reason for hiding this comment

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

.

@alexey-milovidov alexey-milovidov self-assigned this Oct 16, 2025
@ianton-ru
Copy link
Contributor Author

Comments are added.

@alexey-milovidov alexey-milovidov added this pull request to the merge queue Oct 20, 2025
Merged via the queue into ClickHouse:master with commit 6669df3 Oct 20, 2025
123 checks passed
@robot-clickhouse robot-clickhouse added the pr-synced-to-cloud The PR is synced to the cloud repo label Oct 20, 2025
ianton-ru pushed a commit to Altinity/ClickHouse that referenced this pull request Nov 6, 2025
…_encode

Fix table name encoding in data lake rest catalog
@scanhex12 scanhex12 added v25.8-must-backport pr-must-backport Pull request should be backported intentionally. Use this label with great care! v25.6-must-backport v25.10-must-backport labels Dec 23, 2025
@robot-ch-test-poll4 robot-ch-test-poll4 added the pr-must-backport-synced The `*-must-backport` labels are synced into the cloud Sync PR label Dec 23, 2025
scanhex12 added a commit that referenced this pull request Dec 23, 2025
Cherry pick #87020 to 25.8: Fix table name encoding in data lake rest catalog
scanhex12 added a commit that referenced this pull request Dec 23, 2025
Backport #87020 to 25.8: Fix table name encoding in data lake rest catalog
@robot-ch-test-poll1 robot-ch-test-poll1 added the pr-backports-created Backport PRs are successfully created, it won't be processed by CI script anymore label Dec 26, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

can be tested Allows running workflows for external contributors pr-backports-created Backport PRs are successfully created, it won't be processed by CI script anymore pr-bugfix Pull request with bugfix, not backported by default pr-must-backport Pull request should be backported intentionally. Use this label with great care! pr-must-backport-synced The `*-must-backport` labels are synced into the cloud Sync PR pr-synced-to-cloud The PR is synced to the cloud repo v25.6-must-backport v25.8-must-backport v25.10-must-backport v25.11-must-backport v25.12-must-backport

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Requests sent to an Iceberg REST catalog are percent-encoded

7 participants