XiaoHongbo-Hope opened a new pull request, #10186: URL: https://github.com/apache/paimon/pull/10186
### Purpose Java DLF tokens deserialize `Expiration` and keep the derived millisecond timestamp as an internal `@JsonIgnore` field. PyPaimon currently exposes its internal `expiration_at_millis` as `ExpirationAt`, so it accepts and emits a JSON field that Java does not support. This also aligns the Python contract with the companion Rust change in apache/paimon-rust#936. ### Changes - Add a `json_ignore_field` helper for internal dataclass state. - Exclude `DLFToken.expiration_at_millis` from JSON serialization and deserialization while retaining the existing Python attribute and constructor argument. - Verify that serialized tokens omit `ExpirationAt` and incoming `ExpirationAt` values are ignored. ### Tests - `PYTHONPATH=paimon-python python3 -m pytest paimon-python/pypaimon/tests/rest/token_loader_test.py -q` - `PYTHONPATH=paimon-python python3 -m pytest paimon-python/pypaimon/tests/rest/api_test.py -k ecs_loader_token -q` - `flake8 --config=paimon-python/dev/cfg.ini paimon-python/pypaimon/api/token_loader.py paimon-python/pypaimon/common/json_util.py paimon-python/pypaimon/tests/rest/token_loader_test.py` - `git diff --check` -- 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]
