Core: Remove deprecated REST namespace encoding helpers - #17697
Open
dramaticlly wants to merge 3 commits into
Open
Core: Remove deprecated REST namespace encoding helpers#17697dramaticlly wants to merge 3 commits into
dramaticlly wants to merge 3 commits into
Conversation
Contributor
Author
|
@gaborkaszab can you help take a look? for #13991 and #14060 |
nastra
reviewed
Aug 18, 2026
nastra
reviewed
Aug 18, 2026
singhpk234
reviewed
Aug 18, 2026
singhpk234
left a comment
Contributor
There was a problem hiding this comment.
LGTM mostly, added a small suggestion and question for verbosity pov
Removes REST API deprecated for removal in 1.12.0: - RESTUtil.NAMESPACE_JOINER / NAMESPACE_SPLITTER, superseded by namespaceToQueryParam(Namespace) / namespaceFromQueryParam(String) - RESTUtil.encodeNamespace(Namespace) / decodeNamespace(String), superseded by the two-arg overloads that take an explicit separator - RESTSessionCatalog.REST_PAGE_SIZE, superseded by RESTCatalogProperties.PAGE_SIZE - CatalogHandlers.loadTable(Catalog, TableIdentifier), superseded by the overload taking a SnapshotMode Javadoc on namespaceToQueryParam and encodeNamespace no longer cross-links the removed single-arg encodeNamespace; the wording now describes the raw versus percent-encoded separator directly.
The deprecation notice said this constructor would be made private in 1.12.0. It had no callers anywhere in the repo, so making it private would leave an unused private constructor; remove it instead. Removal and privatization are indistinguishable to external callers.
Review feedback from nastra and singhpk234: - Keep the decode separator in encodeAsOldClientAndDecodeAsNewServer hardcoded as "%2E". The test only needs a separator that differs from the legacy one; it does not have to be the one RESTCatalogAdapter advertises. - Use "Removed deprecated functionality scheduled for removal in 1.12.0" as the revapi justification for all seven accepted breaks. The previous text claimed every break was part of the namespace encoding API, which was not true for REST_PAGE_SIZE, CatalogHandlers.loadTable and the ResourcePaths constructor. - Drop the javadoc note on namespaceToQueryParam(Namespace, String). The separator is an explicit argument there, so warning that it differs from encodeNamespace adds nothing. - Keep the note on the no-arg namespaceToQueryParam, which hides the separator, but point it at the surviving encodeNamespace(Namespace, String) overload. The distinction it warns about is real: namespaceToQueryParam joins raw levels, while encodeNamespace URL-encodes each level.
dramaticlly
force-pushed
the
1.12deprecation-core-restutil
branch
from
August 18, 2026 17:55
40d5c7f to
8a4b607
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Removes REST API deprecated for removal in 1.12.0:
Javadoc on namespaceToQueryParam and encodeNamespace no longer cross-links the removed single-arg encodeNamespace; the wording now describes the raw versus percent-encoded separator directly.
AI Disclosure
Model: Claude Opus 5 (1M context)
Platform/Tool: Claude Code
Human Oversight: reviewed
Prompt Summary: split #16449 into smaller self-contained PRs; verify each group compiles and tests green standalone