Github user Leemoonsoo commented on the issue:

    https://github.com/apache/zeppelin/pull/1439
  
    When `callback registry` places in `ZeppelinServer` process and want to let 
user register callback routine from the `interpreter` by exposing user 
`callback registry` api, then callback routine need to be serialized from 
`Interpreter` to send to the `ZeppelinServer`. That's why i think you send 
string representation of code, which is callback routine, through thrift 
message.
    
    If callback registry places inside of `Interpreter` instance, `Interpreter` 
implementation can directly access `callback registry`. So callback routine 
does not need to be serialized. That means not only string representation of 
code, but also some java object (runnable object) can be registered into the 
registry.  And then 
[RemoteInterpreterServer](https://github.com/apache/zeppelin/blob/master/zeppelin-interpreter/src/main/java/org/apache/zeppelin/interpreter/remote/RemoteInterpreterServer.java#L390)]
 can run callback routines before and after it invokes 
`Interpreter.interpret()` method. 
    
    So ZeppelinServer doesn't really need to know callback registry, i think. 
Or are there reasons and use cases that changes of callback registry need to be 
broadcasted to ZeppelinServer?
    



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

Reply via email to