Zerolzj opened a new pull request, #29605: URL: https://github.com/apache/flink/pull/29605
## What is the purpose of the change Fix PyFlink result collection for NULL values inside nested ROW, ARRAY and MAP values. PythonBridgeUtils already encodes these values as empty byte arrays, but the recursive Python decoder currently raises EOFError or IndexError instead of returning None. JIRA: https://issues.apache.org/jira/browse/FLINK-41199 ## Brief change log - Decode the existing NULL marker at the recursive converter entry. - Delegate top-level fields to the same converter instead of duplicating NULL handling in CloseableIterator. - Add focused converter regressions and a SQL collect regression for nested and top-level NULL values. No dependency, packaging, Java bridge or wire-format changes. Row(*fields), already fixed by FLINK-37616, is unchanged. ## Verifying this change - New converter tests: seven tests, nine NULL-related errors without the fix, all passing with the fix. - The same seven tests pass in an isolated CPython 3.10 environment installed from public packages. - Flake8 using the repository's flink-python/tox.ini passes for all four modified files. - Repeated the seven converter tests and Flake8 after updating to community master ea07f2cc79edff9133ddd873dc51b970dac67386 on 2026-10-26. - Added StreamTableEnvironmentTests.test_collect_nullable_nested_values as an SQL collect regression; it has not yet been verified against a complete community-master JVM build. - Full Maven and Python integration verification have not completed locally. The focused checks above are the passing local validation; no full-suite success is claimed. ## Does this pull request potentially affect one of the following parts: - Dependencies: no. - Public API: no; the converter is internal and method signatures are unchanged. - Serializers: only client-side result decoding of the existing NULL sentinel; no wire-format or state-serializer changes. - Runtime per-record code paths: only the Python result-collection decoder; no TaskManager execution changes. - Deployment or recovery: no. - S3 connector: no. ## Documentation No new feature. This restores expected NULL handling during result collection. ##### Was generative AI tooling used to co-author this PR? - [X] Yes (please specify the tool below) Generated-by: OpenAI Codex (desktop) -- 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]
