From da95fc343d926585abd33f5fb3e5b0c7a6cee9bb Mon Sep 17 00:00:00 2001 From: Luciano Resende Date: Tue, 17 Jan 2017 09:59:03 -0800 Subject: Avoid calling success multiple times In case where onResult or onStream is called, onSuccess might try to call success twice on the promise. --- src/main/scala/com/ibm/ToreeClient.scala | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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) { -- cgit v1.2.3