HyukjinKwon commented on PR #59332:
URL: https://github.com/apache/spark/pull/59332#issuecomment-6139570149

   Thanks, I checked 7ab7ae2e6af. `awaitExit` now calls `interruptWriter()` on 
every warning tick, and `interruptWriter` interrupts only while the state is 
`PipelinedWriterRunning`, under the same lock that `finish()` takes, so a pool 
thread that has already left the writer is never interrupted. A writer that 
swallowed the first interrupt and then blocks in `channel.write` gets 
`ClosedByInterruptException` on the next tick, which closes the worker channel 
and breaks the cycle. The new test "the writer is interrupted again if it 
consumed the interrupt" only stops after a second interrupt, so it would hang 
without the repeated one. That resolves the question from my earlier review.
   
   <!-- SPARK_DEV_REVIEW_REPLY 
{"feedback_id":"conversation:6129372259","thread_id":"conversation:6129372259","verdict_sha256":"698cadbb5ec60306a643aac1495c6da95c02eb7786ffec3bc65dd5edfc06c375"}
 -->


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


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to