You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@toree.apache.org by ma...@apache.org on 2016/11/07 14:29:31 UTC
[08/15] incubator-toree git commit: Passing version to broker on
'markReady'
Passing version to broker on 'markReady'
Project: http://git-wip-us.apache.org/repos/asf/incubator-toree/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-toree/commit/b3ef81bb
Tree: http://git-wip-us.apache.org/repos/asf/incubator-toree/tree/b3ef81bb
Diff: http://git-wip-us.apache.org/repos/asf/incubator-toree/diff/b3ef81bb
Branch: refs/heads/master
Commit: b3ef81bb04d35d92469a7b285bb55971f59dff8a
Parents: 6a77283
Author: Liam Fisk <li...@xtra.co.nz>
Authored: Fri Jul 1 09:45:38 2016 +1200
Committer: Marius van Niekerk <ma...@maxpoint.com>
Committed: Thu Oct 20 17:50:59 2016 -0400
----------------------------------------------------------------------
.../org/apache/toree/interpreter/Interpreter.scala | 2 +-
.../toree/interpreter/broker/BrokerState.scala | 17 ++++++++++++++---
.../toree/interpreter/broker/BrokerStateSpec.scala | 6 +++---
.../v5/handler/KernelInfoRequestHandlerSpec.scala | 2 +-
.../toree/kernel/protocol/v5/LanguageInfo.scala | 2 +-
.../protocol/v5/content/KernelInfoReplySpec.scala | 2 +-
.../src/main/resources/PySpark/pyspark_runner.py | 4 ++--
.../interpreter/pyspark/PySparkInterpreter.scala | 1 +
.../interpreter/scala/ScalaInterpreter.scala | 2 +-
.../interpreter/sparkr/SparkRInterpreter.scala | 4 ++--
.../kernel/interpreter/sql/SqlInterpreter.scala | 2 +-
11 files changed, 28 insertions(+), 16 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-toree/blob/b3ef81bb/kernel-api/src/main/scala/org/apache/toree/interpreter/Interpreter.scala
----------------------------------------------------------------------
diff --git a/kernel-api/src/main/scala/org/apache/toree/interpreter/Interpreter.scala b/kernel-api/src/main/scala/org/apache/toree/interpreter/Interpreter.scala
index edf1e71..bfff81c 100644
--- a/kernel-api/src/main/scala/org/apache/toree/interpreter/Interpreter.scala
+++ b/kernel-api/src/main/scala/org/apache/toree/interpreter/Interpreter.scala
@@ -25,7 +25,7 @@ import scala.tools.nsc.interpreter._
case class LanguageInfo(
name: String,
- version: Option[String] = None,
+ version: String,
fileExtension: Option[String] = None,
pygmentsLexer: Option[String] = None) {
}
http://git-wip-us.apache.org/repos/asf/incubator-toree/blob/b3ef81bb/kernel-api/src/main/scala/org/apache/toree/interpreter/broker/BrokerState.scala
----------------------------------------------------------------------
diff --git a/kernel-api/src/main/scala/org/apache/toree/interpreter/broker/BrokerState.scala b/kernel-api/src/main/scala/org/apache/toree/interpreter/broker/BrokerState.scala
index 4595a92..43ee65c 100644
--- a/kernel-api/src/main/scala/org/apache/toree/interpreter/broker/BrokerState.scala
+++ b/kernel-api/src/main/scala/org/apache/toree/interpreter/broker/BrokerState.scala
@@ -37,7 +37,9 @@ class BrokerState(private val maxQueuedCode: Int) {
import scala.collection.JavaConverters._
- private var _isReady: Boolean = false
+ @volatile private var _isReady: Boolean = false
+ @volatile private var _version: String = _
+
protected val codeQueue: java.util.Queue[BrokerCode] =
new java.util.concurrent.ConcurrentLinkedQueue[BrokerCode]()
protected val promiseMap: collection.mutable.Map[CodeId, BrokerPromise] =
@@ -123,8 +125,18 @@ class BrokerState(private val maxQueuedCode: Int) {
/**
* Marks the state of broker as ready.
+
+ * @param version The language version used by the broker service
*/
- def markReady(): Unit = _isReady = true
+ def markReady(version: String): Unit = {
+ _isReady = true
+ _version = version
+ }
+
+ /**
+ * Retrieve the runtime language version used by the broker service
+ */
+ def getVersion(): String = _version
/**
* Marks the specified code as successfully completed using its id.
@@ -192,4 +204,3 @@ class BrokerState(private val maxQueuedCode: Int) {
}
}
}
-
http://git-wip-us.apache.org/repos/asf/incubator-toree/blob/b3ef81bb/kernel-api/src/test/scala/org/apache/toree/interpreter/broker/BrokerStateSpec.scala
----------------------------------------------------------------------
diff --git a/kernel-api/src/test/scala/org/apache/toree/interpreter/broker/BrokerStateSpec.scala b/kernel-api/src/test/scala/org/apache/toree/interpreter/broker/BrokerStateSpec.scala
index 43374f8..3617816 100644
--- a/kernel-api/src/test/scala/org/apache/toree/interpreter/broker/BrokerStateSpec.scala
+++ b/kernel-api/src/test/scala/org/apache/toree/interpreter/broker/BrokerStateSpec.scala
@@ -78,7 +78,7 @@ class BrokerStateSpec extends FunSpec with Matchers with OneInstancePerTest {
describe("#isReady") {
it("should return true if the broker state is marked as ready") {
- brokerState.markReady()
+ brokerState.markReady("1.0.0")
brokerState.isReady should be (true)
}
@@ -90,11 +90,11 @@ class BrokerStateSpec extends FunSpec with Matchers with OneInstancePerTest {
describe("#markReady") {
it("should mark the state of the broker as ready") {
// Mark once to make sure that the state gets set
- brokerState.markReady()
+ brokerState.markReady("1.0.0")
brokerState.isReady should be (true)
// Mark a second time to ensure that the state does not change
- brokerState.markReady()
+ brokerState.markReady("1.0.0")
brokerState.isReady should be (true)
}
}
http://git-wip-us.apache.org/repos/asf/incubator-toree/blob/b3ef81bb/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/KernelInfoRequestHandlerSpec.scala
----------------------------------------------------------------------
diff --git a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/KernelInfoRequestHandlerSpec.scala b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/KernelInfoRequestHandlerSpec.scala
index 252f64a..73aa2a3 100644
--- a/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/KernelInfoRequestHandlerSpec.scala
+++ b/kernel/src/test/scala/org/apache/toree/kernel/protocol/v5/handler/KernelInfoRequestHandlerSpec.scala
@@ -42,7 +42,7 @@ class KernelInfoRequestHandlerSpec extends TestKit(
ConfigFactory.parseString(KernelInfoRequestHandlerSpec.config))
) with ImplicitSender with FunSpecLike with Matchers with MockitoSugar {
val actorLoader: ActorLoader = mock[ActorLoader]
- val actor = system.actorOf(Props(classOf[KernelInfoRequestHandler], actorLoader, LanguageInfo("test", Some("1.0.0"), Some(".test"))))
+ val actor = system.actorOf(Props(classOf[KernelInfoRequestHandler], actorLoader, LanguageInfo("test", "1.0.0", Some(".test"))))
val relayProbe : TestProbe = TestProbe()
val relaySelection : ActorSelection =
http://git-wip-us.apache.org/repos/asf/incubator-toree/blob/b3ef81bb/protocol/src/main/scala/org/apache/toree/kernel/protocol/v5/LanguageInfo.scala
----------------------------------------------------------------------
diff --git a/protocol/src/main/scala/org/apache/toree/kernel/protocol/v5/LanguageInfo.scala b/protocol/src/main/scala/org/apache/toree/kernel/protocol/v5/LanguageInfo.scala
index d2d99be..161181e 100644
--- a/protocol/src/main/scala/org/apache/toree/kernel/protocol/v5/LanguageInfo.scala
+++ b/protocol/src/main/scala/org/apache/toree/kernel/protocol/v5/LanguageInfo.scala
@@ -19,7 +19,7 @@ package org.apache.toree.kernel.protocol.v5
case class LanguageInfo(
name: String,
- version: Option[String] = None,
+ version: String,
file_extension: Option[String] = None,
pygments_lexer: Option[String] = None) {
}
http://git-wip-us.apache.org/repos/asf/incubator-toree/blob/b3ef81bb/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/KernelInfoReplySpec.scala
----------------------------------------------------------------------
diff --git a/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/KernelInfoReplySpec.scala b/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/KernelInfoReplySpec.scala
index 68c901c..f138725 100644
--- a/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/KernelInfoReplySpec.scala
+++ b/protocol/src/test/scala/org/apache/toree/kernel/protocol/v5/content/KernelInfoReplySpec.scala
@@ -34,7 +34,7 @@ class KernelInfoReplySpec extends FunSpec with Matchers {
""")
val kernelInfoReply: KernelInfoReply = KernelInfoReply(
- "x.y.z", "<name>", "z.y.x", LanguageInfo("<some language>", Some("a.b.c"), Some("<some extension>")), "<some banner>"
+ "x.y.z", "<name>", "z.y.x", LanguageInfo("<some language>", "a.b.c", Some("<some extension>")), "<some banner>"
)
describe("KernelInfoReply") {
http://git-wip-us.apache.org/repos/asf/incubator-toree/blob/b3ef81bb/pyspark-interpreter/src/main/resources/PySpark/pyspark_runner.py
----------------------------------------------------------------------
diff --git a/pyspark-interpreter/src/main/resources/PySpark/pyspark_runner.py b/pyspark-interpreter/src/main/resources/PySpark/pyspark_runner.py
index 5073a4d..f73805f 100644
--- a/pyspark-interpreter/src/main/resources/PySpark/pyspark_runner.py
+++ b/pyspark-interpreter/src/main/resources/PySpark/pyspark_runner.py
@@ -15,7 +15,7 @@
# limitations under the License.
#
-import sys, getopt, traceback, re, ast
+import sys, getopt, traceback, re, ast, platform
print("PYTHON::: Starting imports")
from py4j.java_gateway import java_import, JavaGateway, GatewayClient
@@ -53,7 +53,7 @@ java_import(gateway.jvm, "org.apache.spark.mllib.api.python.*")
bridge = gateway.entry_point
state = bridge.state()
-state.markReady()
+state.markReady(platform.python_version())
if sparkVersion.startswith("1.2"):
java_import(gateway.jvm, "org.apache.spark.sql.SparkSession")
http://git-wip-us.apache.org/repos/asf/incubator-toree/blob/b3ef81bb/pyspark-interpreter/src/main/scala/org/apache/toree/kernel/interpreter/pyspark/PySparkInterpreter.scala
----------------------------------------------------------------------
diff --git a/pyspark-interpreter/src/main/scala/org/apache/toree/kernel/interpreter/pyspark/PySparkInterpreter.scala b/pyspark-interpreter/src/main/scala/org/apache/toree/kernel/interpreter/pyspark/PySparkInterpreter.scala
index e347ed8..632f52d 100644
--- a/pyspark-interpreter/src/main/scala/org/apache/toree/kernel/interpreter/pyspark/PySparkInterpreter.scala
+++ b/pyspark-interpreter/src/main/scala/org/apache/toree/kernel/interpreter/pyspark/PySparkInterpreter.scala
@@ -151,6 +151,7 @@ class PySparkInterpreter(
// TODO Identify how to plumb python version to here
override def languageInfo = LanguageInfo(
"python",
+ pySparkState.getVersion(),
fileExtension = Some(".py"),
pygmentsLexer = Some("ipython2"))
http://git-wip-us.apache.org/repos/asf/incubator-toree/blob/b3ef81bb/scala-interpreter/src/main/scala/org/apache/toree/kernel/interpreter/scala/ScalaInterpreter.scala
----------------------------------------------------------------------
diff --git a/scala-interpreter/src/main/scala/org/apache/toree/kernel/interpreter/scala/ScalaInterpreter.scala b/scala-interpreter/src/main/scala/org/apache/toree/kernel/interpreter/scala/ScalaInterpreter.scala
index 464c223..4c04436 100644
--- a/scala-interpreter/src/main/scala/org/apache/toree/kernel/interpreter/scala/ScalaInterpreter.scala
+++ b/scala-interpreter/src/main/scala/org/apache/toree/kernel/interpreter/scala/ScalaInterpreter.scala
@@ -338,6 +338,6 @@ object ScalaInterpreter {
}
- override def languageInfo = LanguageInfo("scala", Some(BuildInfo.scalaVersion), Some(".scala"))
+ override def languageInfo = LanguageInfo("scala", BuildInfo.scalaVersion, fileExtension = Some(".scala"))
}
http://git-wip-us.apache.org/repos/asf/incubator-toree/blob/b3ef81bb/sparkr-interpreter/src/main/scala/org/apache/toree/kernel/interpreter/sparkr/SparkRInterpreter.scala
----------------------------------------------------------------------
diff --git a/sparkr-interpreter/src/main/scala/org/apache/toree/kernel/interpreter/sparkr/SparkRInterpreter.scala b/sparkr-interpreter/src/main/scala/org/apache/toree/kernel/interpreter/sparkr/SparkRInterpreter.scala
index c067d5b..d6be29b 100644
--- a/sparkr-interpreter/src/main/scala/org/apache/toree/kernel/interpreter/sparkr/SparkRInterpreter.scala
+++ b/sparkr-interpreter/src/main/scala/org/apache/toree/kernel/interpreter/sparkr/SparkRInterpreter.scala
@@ -138,7 +138,7 @@ class SparkRInterpreter(
// Unsupported
override def doQuietly[T](body: => T): T = ???
-
- override def languageInfo = LanguageInfo("R")
+
+ override def languageInfo = LanguageInfo("scala", BuildInfo.scalaVersion, fileExtension = Some(".scala"))
}
http://git-wip-us.apache.org/repos/asf/incubator-toree/blob/b3ef81bb/sql-interpreter/src/main/scala/org/apache/toree/kernel/interpreter/sql/SqlInterpreter.scala
----------------------------------------------------------------------
diff --git a/sql-interpreter/src/main/scala/org/apache/toree/kernel/interpreter/sql/SqlInterpreter.scala b/sql-interpreter/src/main/scala/org/apache/toree/kernel/interpreter/sql/SqlInterpreter.scala
index fa7fc2b..b6e272f 100644
--- a/sql-interpreter/src/main/scala/org/apache/toree/kernel/interpreter/sql/SqlInterpreter.scala
+++ b/sql-interpreter/src/main/scala/org/apache/toree/kernel/interpreter/sql/SqlInterpreter.scala
@@ -107,6 +107,6 @@ class SqlInterpreter() extends Interpreter {
// Unsupported
override def doQuietly[T](body: => T): T = ???
- override def languageInfo = LanguageInfo("SQL")
+ override def languageInfo = LanguageInfo("scala", BuildInfo.scalaVersion, fileExtension = Some(".scala"))
}