diff options
author | Luciano Resende <lresende@apache.org> | 2017-01-17 09:59:03 -0800 |
---|---|---|
committer | Luciano Resende <lresende@apache.org> | 2017-01-17 09:59:03 -0800 |
commit | da95fc343d926585abd33f5fb3e5b0c7a6cee9bb (patch) | |
tree | 4e33b5835c323a95e3b1e0401722fd17386fe14b | |
parent | 94a52b4e2564cca7bbf581617e44e764ebdd49d0 (diff) | |
download | toree-gateway-da95fc343d926585abd33f5fb3e5b0c7a6cee9bb.tar.gz toree-gateway-da95fc343d926585abd33f5fb3e5b0c7a6cee9bb.tar.bz2 toree-gateway-da95fc343d926585abd33f5fb3e5b0c7a6cee9bb.zip |
Avoid calling success multiple times
In case where onResult or onStream is called,
onSuccess might try to call success twice on
the promise.
-rw-r--r-- | src/main/scala/com/ibm/ToreeClient.scala | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/main/scala/com/ibm/ToreeClient.scala b/src/main/scala/com/ibm/ToreeClient.scala index d21d419..d1a8904 100644 --- a/src/main/scala/com/ibm/ToreeClient.scala +++ b/src/main/scala/com/ibm/ToreeClient.scala @@ -46,7 +46,9 @@ class ToreeGateway(client: SparkKernelClient) { private def handleSuccess(promise:Promise[String], executeReplyOk: ExecuteReplyOk) = { log.warn(s"Successful code completion") - promise.complete(Try("done")) + if(! promise.isCompleted) { + promise.complete(Try("done")) + } } private def handleError(promise:Promise[String], reply:ExecuteReplyError) { |