LuciferYang opened a new pull request, #59202:
URL: https://github.com/apache/spark/pull/59202

   ### What changes were proposed in this pull request?
   
   Followup to #55410. The two `ForeachBatchSessionManager` cleanup tests in 
`StreamingForeachBatchHelperSuite` checked that `close()` is terminal and that 
the registered cleaner runs, but neither asserted the side effect `close()` 
exists to guarantee: that the cloned `SessionHolder` is removed from 
`SparkConnectService.sessionManager`. Because `close()` sets its `closed` flag 
independently of the `closeSession` call, a future change that dropped or broke 
the unregister step would still pass both tests while re-introducing the 
never-expiring-holder leak. This adds assertions that the cloned `SessionKey` 
is present in the session manager before `close()` and absent after.
   
   ### Why are the changes needed?
   
   To make the cloned-session leak-prevention contract regression-sensitive. 
Spotted in review of #59200, the branch-4.3 backport.
   
   ### Does this PR introduce _any_ user-facing change?
   
   No.
   
   ### How was this patch tested?
   
   Pass GitHub Actions.
   
   ### Was this patch authored or co-authored using generative AI tooling?
   
   Generated-by: Claude Code
   


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