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]