Browse Source

[livy] Stop printing out the repl output

This cuts down on the log noise when there are multiple active
processes. This also makes sure to join this thread.
Erick Tryzelaar 10 years ago
parent
commit
e0f40d6

+ 11 - 12
apps/spark/java/livy-spark/src/main/scala/com/cloudera/hue/livy/spark/interactive/InteractiveSessionProcess.scala

@@ -25,6 +25,7 @@ import com.cloudera.hue.livy.sessions.interactive.InteractiveSession
 import com.cloudera.hue.livy.spark.SparkProcess
 import com.cloudera.hue.livy.spark.SparkProcess
 
 
 import scala.annotation.tailrec
 import scala.annotation.tailrec
+import scala.concurrent.Future
 
 
 object InteractiveSessionProcess extends Logging {
 object InteractiveSessionProcess extends Logging {
 
 
@@ -48,31 +49,29 @@ private class InteractiveSessionProcess(id: Int,
 
 
       // Loop until we find the ip address to talk to livy-repl.
       // Loop until we find the ip address to talk to livy-repl.
       @tailrec
       @tailrec
-      def readUntilURL(): Boolean = {
+      def readUntilURL(): Unit = {
         if (lines.hasNext) {
         if (lines.hasNext) {
           val line = lines.next()
           val line = lines.next()
-          println(line)
 
 
           line match {
           line match {
-            case regex(url_) =>
-              url = new URL(url_)
-              true
+            case regex(url_) => url = new URL(url_)
             case _ => readUntilURL()
             case _ => readUntilURL()
           }
           }
-        } else {
-          false
         }
         }
       }
       }
 
 
-      if (readUntilURL()) {
-        for (line <- lines) {
-          println(line)
-        }
-      }
+      readUntilURL()
     }
     }
   }
   }
 
 
   stdoutThread.setName("process session stdout reader")
   stdoutThread.setName("process session stdout reader")
   stdoutThread.setDaemon(true)
   stdoutThread.setDaemon(true)
   stdoutThread.start()
   stdoutThread.start()
+
+  override def stop(): Future[Unit] = {
+    super.stop().andThen { case r =>
+      stdoutThread.join()
+      r
+    }
+  }
 }
 }