kevinjqliu opened a new pull request, #3305:
URL: https://github.com/apache/iceberg-python/pull/3305
<!--
Thanks for opening a pull request!
-->
<!-- In the case this PR will resolve an issue, please replace
${GITHUB_ISSUE_ID} below with the actual Github issue id. -->
<!-- Closes #${GITHUB_ISSUE_ID} -->
## Rationale for this change
`PYTHON=3.13 make test` hangs after all tests pass.
The `SaslServer` test helper has `except Exception: pass` in its accept
loop. After `close()` is called, `accept()` raises on every iteration but the
exception is swallowed, creating a tight busy-loop that holds the GIL and
prevents the process from exiting.
This is particularly severe on CPython 3.13+ on macOS, where GIL fairness
changes make the main thread unable to make progress against the spinning
daemon thread.
## Changes
- `except Exception: pass` -> `except Exception: break` to exit the loop
when the socket is closed
- Reorder `close()`: close the server socket first (unblocks `accept()`),
then `join()` the thread (ensures no more client appends), then close tracked
clients
## Are these changes tested?
`PYTHON=3.13 make test` passes with clean exit.
## Are there any user-facing changes?
No.
--
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]