Luciano Resende created TOREE-368:
-------------------------------------

             Summary: Enhance the toree client programmin model
                 Key: TOREE-368
                 URL: https://issues.apache.org/jira/browse/TOREE-368
             Project: TOREE
          Issue Type: Improvement
            Reporter: Luciano Resende


The Toree client seems to be a client utility to enable other applications to 
interact with Toree/Spark. These applications are not based or aware of the 
ZeroMQ protocol, but nevertheless, we are imposing them on a very similar 
programming model while evaluating code using the client.

See an example below, where the application programmer has to handle different 
options, where more than one option can be called per eval result, and the 
order cannot be known prior to the execution time :

val exRes: DeferredExecution = client.execute(code)
.onResult(executeResult => {
  ...
}).onError(executeReplyError =>{
  ...
}).onSuccess(executeReplyOk => {
  ...
}).onStream(streamResult => {
  ...
})

I was wondering what are the community thoughts on enhancing the client to 
abstract its programming model, and having all this abstracted and handled on 
the client implementation, and the eval would return one promise (e.g. onResult 
which one option would be status success or error) or at most two promises 
(e.g. onSuccess and onError). 

This is being discussed in the following thread:
https://www.mail-archive.com/[email protected]/msg00942.html



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to