blinkseb opened a new pull request, #7125:
URL: https://github.com/apache/gravitino/pull/7125
<!--
1. Title: [#<issue>] <type>(<scope>): <subject>
Examples:
- "[#123] feat(operator): support xxx"
- "[#233] fix: check null before access result in xxx"
- "[MINOR] refactor: fix typo in variable name"
- "[MINOR] docs: fix typo in README"
- "[#255] test: fix flaky test NameOfTheTest"
Reference: https://www.conventionalcommits.org/en/v1.0.0/
2. If the PR is unfinished, please mark this PR as draft.
-->
### What changes were proposed in this pull request?
The query and path parameters for the namespace were automatically
url-decoded, while the `decodeNamespace` utility method provided by Iceberg
expected the namespace to be
[url-encoded](https://github.com/apache/iceberg/blob/apache-iceberg-1.5.2/core/src/main/java/org/apache/iceberg/rest/RESTUtil.java#L207-L217).
The solution is to add the `@Encoded` annotation to all API routes to
explicitly keep the namespace encoded.
I've also fixed and extended the unit tests:
- the namespaces were not properly encoded as expected by the Iceberg REST
protocol (using `\u001f` as namespace delimiter)
- I added test cases with nested namespaces
### Why are the changes needed?
Nested namespaces should work.
Fix: #7116
### Does this PR introduce _any_ user-facing change?
No
### How was this patch tested?
Existing + new unit and integration tests.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]