SEZ9 commented on issue #12715: URL: https://github.com/apache/seatunnel/issues/12715#issuecomment-6117780466
Thanks for the detailed analysis — the resource-release chain you traced makes sense: `pollNext()` replaces `valueReader` for each split without closing the previous one, and `DorisValueReader.close()` is the path that sends `closeScanner` and releases the BE-side scan context and socket. Since you've already opened #12718 for this, could you narrow that branch to just the Doris change on current `dev`? Closing the finished reader in a `try/finally` around each consumed split (rather than relying on the next poll to clean up) keeps the lifecycle boundary clear, while keeping the existing checkpoint-lock behavior unchanged. Please also add a test that assigns multiple splits to one reader and asserts each split's reader is closed exactly once, including when reading or collecting fails. If you have any BE-side evidence from a run (e.g. open connections to BE ports or scan-context counts), linking it in the PR would help confirm the impact. <!-- streview-comment:1695 --> -- 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]
