carloea2 opened a new pull request, #8958: URL: https://github.com/apache/texera/pull/8958
### What changes were proposed in this PR? Preserve user dictionaries containing the internal type marker during state serialization. Escape those dictionaries and decode only exact internal envelopes so user fields survive the round trip. ### Any related issues, documentation, discussions? Closes #8213 Replaces #8214, which the stale bot closed. The original PR cannot be reopened by this account. ### How was this PR tested? Tested on freshly fetched main at d27b7b49877bcc52d80602e57f5b0e5f86291736 with Python 3.12 on Windows. The regression failed before the source change and passed after it. From the amber directory, with generated protobuf bindings available on PYTHONPATH: ```text python -m pytest src/test/python/core/models/test_state.py::TestState::test_json_round_trip_preserves_user_type_markers -q --tb=line -p no:cacheprovider python -m pytest src/test/python/core/models src/test/python/core/architecture/sendsemantics/test_partitioners.py --deselect src/test/python/core/models/test_tuple.py::TestTuple::test_hash -q --tb=line -p no:cacheprovider ruff check src/main/python src/test/python ruff format --check src/main/python src/test/python ``` The broader suites passed 352 tests with one expected failure. Ruff lint and formatting passed for all 216 Python files. The existing Windows pre-epoch hash fixture was deselected; the new hash regressions were run separately. ### Was this PR authored or co-authored using generative AI tooling? Generated-by: Codex (GPT-6) -- 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]
