elbakramer commented on PR #4693:
URL: https://github.com/apache/zeppelin/pull/4693#issuecomment-1845005257

   @jongyoul
   
   I think now CI does not hang and all tests for core modules finish properly 
with the green check icons. But I'm still curious whether the errors and 
warnings shown in the Annotations block below should still be resolved. Could 
you please check if it's ok or not?
   
   https://github.com/elbakramer/zeppelin/actions/runs/7013954933
   
   ![스크린샷 2023-12-07 오후 6 01 
01](https://github.com/apache/zeppelin/assets/12024377/862b1324-b370-4419-b51a-f608842650ac)
   
   What I've found about the hang is that, it seems like the 
`getBindedInterpreter()` method works like the get-or-create manner and it 
unintentionally creates a new interpreter instance upon `jobAbort()` if none 
exists. And that unexpected new interpreter makes all tests hang. My first 
guess about that method was like get-or-null manner but turned out to be wrong.
   
   In order to prevent that creation, I've added some checks before actually 
calling the method:
   
   - do nothing if the `Job` is aborted already
   - only call `getBindedInterpreter()` if
     - the target for the abort is considered to exist already
     - and current `this.interpreter` member is `null` (and should bind to the 
existing one in order to cancel that)
   
   I couldn't think of a direct way to check the existence of the interpreter 
instance. So it just indirectly checks whether if the job is currently running 
or not, assuming that there would be an interpreter instance if the job is in a 
running state.


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