wenhaozhao011-cmd opened a new pull request, #8989:
URL: https://github.com/apache/paimon/pull/8989

   ConfigResponse only declared the "defaults" field. Since JSON.from_json maps 
declared dataclass fields only, the "overrides" map returned by GET /v1/config 
was dropped during deserialization. merge() also applied server defaults on top 
of the client options.
   
   Both behaviors diverge from the Java implementation in 
paimon-api/src/main/java/org/apache/paimon/rest/responses/ConfigResponse.java, 
where overrides is parsed and the merge priority is defaults -> client 
properties -> overrides. As a result, any option a REST server enforces through 
overrides is silently lost in the Python client.
   
   For example, a server returning overrides {"data-token.enabled": "true"} 
cannot enable data token mode: RESTCatalog.data_token_enabled stays at its 
default False, so file_io_for_data() falls back to file_io_from_options() 
instead of using RESTTokenFileIO.
   
   Declare overrides as an optional field, omitted on serialization when absent 
so servers that do not return it are unaffected, and align merge() with the 
Java behavior, including dropping null values.
   
   ### Purpose
   
   ### 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]

Reply via email to