DanielLeens commented on PR #11338:
URL: https://github.com/apache/seatunnel/pull/11338#issuecomment-4892009090

   Rechecked the latest head `028df6b403` again. The stderr-collector cleanup 
added in this revision is a good improvement, but the two earlier Daniel 
blockers are still open on the current version.
   
   ## What changed in this new revision
   - `PythonProcessWorker.close()` now waits for the stderr collector thread to 
stop.
   - `PythonTransformTest` adds coverage for the direct 
`PythonTransform.close()` path.
   
   That is directionally good, but it still does not close the two 
production-path lifecycle gaps from the previous round:
   
   1. **`PythonTransform` still keeps the old `PythonProcessWorker` across 
schema changes.**  
      Files: `PythonTransform.java:38-39,108-113`, 
`PythonProcessWorker.java:76-135`
   
      The worker still captures `inputRowType`, `rowToJsonConverter`, 
`outputConverters`, and the Python-side context when it is first created. I 
still do not see a schema-change path that closes and rebuilds that worker 
after the upstream `CatalogTable` changes, so the transform can keep 
serializing rows with stale schema metadata on the next records.
   
   2. **`PythonMultiCatalogTransform` still does not forward `close()` to the 
inner `PythonTransform` instances.**  
      Files: `PythonTransformFactory.java:82-85`, 
`PythonMultiCatalogTransform.java:29-75`
   
      The production factory path still returns `PythonMultiCatalogTransform`, 
and that wrapper still does not override `close()`. So even though the direct 
`PythonTransform.close()` path is better now, the real factory-returned runtime 
object still does not guarantee that the inner Python worker processes are 
released.
   
   The new test only covers the direct inner transform close path. It still 
does not cover:
   - the factory-returned wrapper close path
   - the schema-change rebuild path
   
   So from my side the merge conclusion is unchanged on the latest head:
   - fix required before merge
   - blocking items:
     1. rebuild the cached Python worker after schema changes
     2. ensure the outer multi-table wrapper actually closes all inner Python 
transforms
   
   Once those two blockers are fixed on top of this revision, I’m happy to 
re-review again.


-- 
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