Skip to content

Commit 6bf8c06

Browse files
authored
[TOREE-541] Reply message should implement status field (#207)
1 parent ba4ea3f commit 6bf8c06

File tree

22 files changed

+99
-30
lines changed

22 files changed

+99
-30
lines changed

client/src/main/scala/org/apache/toree/kernel/protocol/v5/client/socket/StdinClient.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ import org.apache.toree.communication.ZMQMessage
2222
import org.apache.toree.communication.security.SecurityActorType
2323
import org.apache.toree.kernel.protocol.v5.client.ActorLoader
2424
import org.apache.toree.kernel.protocol.v5.{HeaderBuilder, KMBuilder, KernelMessage}
25-
import org.apache.toree.kernel.protocol.v5.content.{InputReply, InputRequest}
25+
import org.apache.toree.kernel.protocol.v5.content.{InputReply, InputReplyOk, InputRequest}
2626
import org.apache.toree.utils.LogLike
2727
import org.apache.toree.kernel.protocol.v5.client.Utilities._
2828
import play.api.libs.json.Json
@@ -76,7 +76,7 @@ class StdinClient(
7676
val inputRequest =
7777
Json.parse(kernelMessage.contentString).as[InputRequest]
7878
val value = responseFunc(inputRequest.prompt, inputRequest.password)
79-
val inputReply = InputReply(value)
79+
val inputReply = InputReplyOk(value)
8080

8181
val newKernelMessage = KMBuilder()
8282
.withParent(kernelMessage)

kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/handler/CommInfoRequestHandler.scala

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,13 @@ package org.apache.toree.kernel.protocol.v5.handler
1919

2020
import org.apache.toree.comm.CommStorage
2121
import org.apache.toree.kernel.protocol.v5._
22-
import org.apache.toree.kernel.protocol.v5.content.CommInfoReply
22+
import org.apache.toree.kernel.protocol.v5.content.{CommInfoReply, CommInfoReplyOk}
2323
import org.apache.toree.kernel.protocol.v5.kernel.ActorLoader
2424
import org.apache.toree.utils.MessageLogSupport
2525
import play.api.libs.json.Json
2626

2727
import scala.concurrent.ExecutionContext.Implicits.global
28-
import scala.concurrent.{Future, future}
28+
import scala.concurrent.Future
2929

3030
/**
3131
* Receives a CommInfoRequest KernelMessage and returns a CommInfoReply
@@ -63,7 +63,7 @@ class CommInfoRequestHandler(
6363
commStorage.getTargets().map(buildCommMap(_)).reduce(_ ++ _)
6464
}
6565
}
66-
val commInfoReply = CommInfoReply(commMap.asInstanceOf[Map[String, Map[String, String]]])
66+
val commInfoReply = CommInfoReplyOk(commMap.asInstanceOf[Map[String, Map[String, String]]])
6767

6868
val kernelInfo = SparkKernelInfo
6969

kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/handler/KernelInfoRequestHandler.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
package org.apache.toree.kernel.protocol.v5.handler
1919

2020
import org.apache.toree.kernel.protocol.v5._
21-
import org.apache.toree.kernel.protocol.v5.content.KernelInfoReply
21+
import org.apache.toree.kernel.protocol.v5.content.{KernelInfoReply, KernelInfoReplyOk}
2222
import org.apache.toree.kernel.protocol.v5.kernel.ActorLoader
2323
import org.apache.toree.utils.LogLike
2424

@@ -37,7 +37,7 @@ class KernelInfoRequestHandler(actorLoader: ActorLoader, languageInfo: LanguageI
3737
logger.debug("Sending kernel info reply message")
3838

3939
val kernelInfo = SparkKernelInfo
40-
val kernelInfoReply = KernelInfoReply(
40+
val kernelInfoReply = KernelInfoReplyOk(
4141
kernelInfo.protocolVersion,
4242
kernelInfo.implementation,
4343
kernelInfo.implementationVersion,

kernel/src/main/scala/org/apache/toree/kernel/protocol/v5/handler/ShutdownHandler.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
package org.apache.toree.kernel.protocol.v5.handler
1919

2020
import org.apache.toree.comm.{CommRegistrar, CommStorage, KernelCommWriter}
21-
import org.apache.toree.kernel.protocol.v5.content.{ShutdownReply, ShutdownRequest, CommOpen}
21+
import org.apache.toree.kernel.protocol.v5.content.{CommOpen, ShutdownReply, ShutdownReplyOk, ShutdownRequest}
2222
import org.apache.toree.kernel.protocol.v5.kernel.{ActorLoader, Utilities}
2323
import org.apache.toree.kernel.protocol.v5._
2424
import org.apache.toree.security.KernelSecurityManager
@@ -43,7 +43,7 @@ class ShutdownHandler(
4343

4444
val kernelInfo = SparkKernelInfo
4545

46-
val shutdownReply = ShutdownReply(false)
46+
val shutdownReply = ShutdownReplyOk(false)
4747

4848
val replyHeader = Header(
4949
java.util.UUID.randomUUID.toString,

kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/InputRequestReplyHandlerSpec.scala

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ import java.util.concurrent.ConcurrentHashMap
2222
import org.apache.pekko.actor.{Props, ActorRef, ActorSystem}
2323
import org.apache.pekko.testkit.{TestProbe, ImplicitSender, TestKit}
2424
import org.apache.toree.Main
25-
import org.apache.toree.kernel.protocol.v5.content.InputReply
26-
import org.apache.toree.kernel.protocol.v5.{HeaderBuilder, MessageType, KMBuilder, SystemActorType}
25+
import org.apache.toree.kernel.protocol.v5.content.{InputReply, InputReplyOk}
26+
import org.apache.toree.kernel.protocol.v5.{HeaderBuilder, KMBuilder, MessageType, SystemActorType}
2727
import org.apache.toree.kernel.protocol.v5.kernel.ActorLoader
2828
import org.scalatest.concurrent.Eventually
2929
import org.scalatestplus.mockito.MockitoSugar
@@ -105,7 +105,7 @@ class InputRequestReplyHandlerSpec
105105
msg_type = MessageType.Incoming.InputReply.toString,
106106
session = session
107107
))
108-
.withContentString(InputReply(expected))
108+
.withContentString(InputReplyOk(expected))
109109
.build
110110

111111
// Add our fake sender actor to the receiving end of the message
@@ -127,7 +127,7 @@ class InputRequestReplyHandlerSpec
127127
msg_type = MessageType.Incoming.InputReply.toString,
128128
session = session
129129
))
130-
.withContentString(InputReply(expected))
130+
.withContentString(InputReplyOk(expected))
131131
.build
132132

133133
fakeSender.send(inputRequestReplyHandler, inputReplyMessage)

protocol/src/main/scala/org/apache/toree/kernel/protocol/v5/content/CommInfoReply.scala

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,9 @@ import org.apache.toree.kernel.protocol.v5.KernelMessageContent
2121
import play.api.libs.json.Json
2222

2323
case class CommInfoReply(
24+
status: String,
2425
comms: Map[String, Map[String, String]]
25-
) extends KernelMessageContent {
26+
) extends KernelMessageContent with ReplyContent {
2627
override def content : String =
2728
Json.toJson(this)(CommInfoReply.commInfoReplyWrites).toString
2829
}

protocol/src/main/scala/org/apache/toree/kernel/protocol/v5/content/CompleteReply.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ case class CompleteReply (
2929
ename: Option[String],
3030
evalue: Option[String],
3131
traceback: Option[List[String]]
32-
) extends KernelMessageContent {
32+
) extends KernelMessageContent with ReplyContent {
3333
override def content : String =
3434
Json.toJson(this)(CompleteReply.completeReplyWrites).toString
3535
}

protocol/src/main/scala/org/apache/toree/kernel/protocol/v5/content/ConnectReply.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ package org.apache.toree.kernel.protocol.v5.content
2020
import org.apache.toree.kernel.protocol.v5.KernelMessageContent
2121
import play.api.libs.json.Json
2222

23+
// Deprecated since version 5.1: connect_request/reply have not proved useful, and are
24+
// considered deprecated. Kernels are not expected to implement handlers for this message.
2325
case class ConnectReply(
2426
shell_port: Int,
2527
iopub_port: Int,

protocol/src/main/scala/org/apache/toree/kernel/protocol/v5/content/ConnectRequest.scala

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ package org.apache.toree.kernel.protocol.v5.content
2020
import org.apache.toree.kernel.protocol.v5.KernelMessageContent
2121
import play.api.libs.json._
2222

23+
// Deprecated since version 5.1: connect_request/reply have not proved useful, and are
24+
// considered deprecated. Kernels are not expected to implement handlers for this message.
2325
case class ConnectRequest() extends KernelMessageContent {
2426
override def content : String =
2527
Json.toJson(this)(ConnectRequest.connectRequestWrites).toString

protocol/src/main/scala/org/apache/toree/kernel/protocol/v5/content/ExecuteReply.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ case class ExecuteReply(
3333
ename: Option[String],
3434
evalue: Option[String],
3535
traceback: Option[List[String]]
36-
) extends KernelMessageContent {
36+
) extends KernelMessageContent with ReplyContent {
3737

3838
override def content : String =
3939
Json.toJson(this)(ExecuteReply.executeReplyWrites).toString

0 commit comments

Comments
 (0)