JingsongLi commented on PR #992: URL: https://github.com/apache/paimon-rust/pull/992#issuecomment-5934232508
Requirement fit: **SUPPORTED** — request attribution in REST catalog logs has end-to-end operational value. Implementation: **FINDINGS** at `70cf3bf2`. **[P2] Refresh the User-Agent after merging `/v1/config` options** (`crates/paimon/src/api/rest_api.rs:149-152`). The client is constructed from the initial options, while the normal RESTCatalog path subsequently merges server defaults/overrides and refreshes only auth/`header.*`. Consequently the newly added `user-agent.*` configuration is ignored when supplied by the catalog server, even though it is present in `api.options()`. I reproduced this with a local HTTP server returning default `user-agent.features=ServerFeature` and override `user-agent.extended=catalog-tag`: the merged options contain both, but the following list-databases request sends `paimon-rust/0.4.0(reqwest)` instead of `paimon-rust/0.4.0(reqwest;ServerFeature) catalog-tag`. This defeats the configured attribution for clients configured through the catalog. Please update/rebuild the default User-Agent from the merged options after bootstrap, preserving the explicit `header.User-Agent` precedence, and add a `con fig_required=true` HTTP regression. The current new header tests all use `false`. Verification: 92/92 API unit tests, 45/45 REST API integration tests, and 79/79 REST catalog integration tests passed. The temporary config-negotiation regression failed with the header mismatch above; the test edit was restored. Diff check and current-main merge-tree passed; all 14 head CI checks are green. -- 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]
