Github user agoodm commented on the issue: https://github.com/apache/zeppelin/pull/1596 @Leemoonsoo @zjffdu I placed the extra call to `open()` in `jobRun` because I wanted to have a convenient place to make calls to `registerHook()`. We can't do this in the `Interpreter` constructor since the `InterpreterGroup` (which stores the hook registry) will not necessarily be set yet. The only other way I can think of doing this without another rewrite of the hook system would be to instead override the `setInterpreterGroup()` method to call `registerHook() after setting the `InterpreterGroup`. Not very elegant, but it will probably get the job done (pun not intended). Actually, it might be the better approach to what we are doing now since we would no longer have to worry about checking for null pointers. That being said, could you explain why this change is in itself necessary? IIRC, the `client.open()` call you have added to `RemoteInterpreter.java` was not there before any of the changes I made.
--- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. ---