You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@zeppelin.apache.org by "Lee moon soo (JIRA)" <ji...@apache.org> on 2017/02/07 01:28:41 UTC

[jira] [Created] (ZEPPELIN-2067) SparkInterpreter (scala) prints unnecessary newline

Lee moon soo created ZEPPELIN-2067:
--------------------------------------

             Summary: SparkInterpreter (scala) prints unnecessary newline
                 Key: ZEPPELIN-2067
                 URL: https://issues.apache.org/jira/browse/ZEPPELIN-2067
             Project: Zeppelin
          Issue Type: Bug
            Reporter: Lee moon soo
            Assignee: Lee moon soo
             Fix For: 0.8.0


When SparkInterpreter call interpret() method, it prints output from scala repl (IMain). However before each evaluation's output is printed, there's unnecessary newline char from scala repl. 

Made stacktrace where this unnecessary newline came from and got

{code}
        at org.apache.zeppelin.interpreter.InterpreterOutput.write(InterpreterOutput.java:177)
        at org.apache.zeppelin.interpreter.util.InterpreterOutputStream.write(InterpreterOutputStream.java:50)
        at org.apache.zeppelin.interpreter.util.LogOutputStream.write(LogOutputStream.java:97)
        at org.apache.zeppelin.interpreter.util.InterpreterOutputStream.write(InterpreterOutputStream.java:64)
        at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:221)
        at sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:291)
        at sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java:295)
        at sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:141)
        at java.io.OutputStreamWriter.flush(OutputStreamWriter.java:229)
        at java.io.BufferedWriter.flush(BufferedWriter.java:254)
        at java.io.PrintWriter.flush(PrintWriter.java:320)
        at java.io.PrintWriter.flush(PrintWriter.java:320)
        at scala.tools.nsc.reporters.ConsoleReporter.printMessage(ConsoleReporter.scala:45)
        at scala.tools.nsc.interpreter.ReplReporter.printMessage(ReplReporter.scala:61)
        at scala.tools.nsc.reporters.ConsoleReporter.printMessage(ConsoleReporter.scala:50)
        at scala.tools.nsc.interpreter.ReplReporter.print(ReplReporter.scala:50)
        at scala.tools.nsc.reporters.ConsoleReporter.display(ConsoleReporter.scala:69)
        at scala.tools.nsc.reporters.AbstractReporter.info0(AbstractReporter.scala:48)
        at scala.tools.nsc.reporters.AbstractReporter.info0(AbstractReporter.scala:16)
        at scala.reflect.internal.Reporter.error(Reporting.scala:82)
        at scala.tools.nsc.interpreter.ReplReporter.scala$tools$nsc$interpreter$ReplReporter$$super$error(ReplReporter.scala:33)
        at scala.tools.nsc.interpreter.ReplReporter$$anonfun$error$1.apply(ReplReporter.scala:33)
        at scala.tools.nsc.interpreter.ReplReporter$$anonfun$error$1.apply(ReplReporter.scala:33)
        at scala.tools.nsc.interpreter.ReplReporter.withoutTruncating(ReplReporter.scala:28)
        at scala.tools.nsc.interpreter.ReplReporter.error(ReplReporter.scala:33)
        at scala.tools.nsc.typechecker.Contexts$ImmediateReporter.handleError(Contexts.scala:1377)
        at scala.tools.nsc.typechecker.Contexts$ContextReporter.issue(Contexts.scala:1254)
        at scala.tools.nsc.typechecker.Contexts$Context.issue(Contexts.scala:573)
        at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$normalTypedApply$1$1.apply(Typers.scala:4549)
        at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$normalTypedApply$1$1.apply(Typers.scala:4548)
        at scala.tools.nsc.typechecker.Typers$Typer.onError$3(Typers.scala:4522)
        at scala.tools.nsc.typechecker.Typers$Typer.normalTypedApply$1(Typers.scala:4548)
        at scala.tools.nsc.typechecker.Typers$Typer.typedApply$1(Typers.scala:4580)
        at scala.tools.nsc.typechecker.Typers$Typer.typedInAnyMode$1(Typers.scala:5343)

...
...
...

        at scala.tools.nsc.typechecker.Typers$Typer$$anonfun$65.apply(Typers.scala:3151)
        at scala.collection.immutable.List.loop$1(List.scala:173)
        at scala.collection.immutable.List.mapConserve(List.scala:189)
        at scala.tools.nsc.typechecker.Typers$Typer.typedStats(Typers.scala:3151)
        at scala.tools.nsc.typechecker.Typers$Typer.typedTemplate(Typers.scala:1921)
        at scala.collection.AbstractIterator.foreach(Iterator.scala:1336)
        at scala.tools.nsc.typechecker.Analyzer$typerFactory$$anon$3.run(Analyzer.scala:93)
        at scala.tools.nsc.Global$Run.compileUnitsInternal(Global.scala:1501)
        at scala.tools.nsc.Global$Run.compileUnits(Global.scala:1486)
        at scala.tools.nsc.Global$Run.compileSources(Global.scala:1481)
        at scala.tools.nsc.interpreter.IMain.compileSourcesKeepingRun(IMain.scala:435)
        at scala.tools.nsc.interpreter.IMain$ReadEvalPrint.compileAndSaveRun(IMain.scala:855)
        at scala.tools.nsc.interpreter.IMain$ReadEvalPrint.compile(IMain.scala:813)
        at scala.tools.nsc.interpreter.IMain$Request.compile$lzycompute(IMain.scala:1002)
        at scala.tools.nsc.interpreter.IMain$Request.compile(IMain.scala:997)
        at scala.tools.nsc.interpreter.IMain.compile(IMain.scala:579)
        at scala.tools.nsc.interpreter.IMain.interpret(IMain.scala:567)
        at scala.tools.nsc.interpreter.IMain.interpret(IMain.scala:565)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:497)
        at org.apache.zeppelin.spark.Utils.invokeMethod(Utils.java:38)
        at org.apache.zeppelin.spark.SparkInterpreter.interpret(SparkInterpreter.java:964)
        at org.apache.zeppelin.spark.SparkInterpreter.interpretInput(SparkInterpreter.java:1190)
        at org.apache.zeppelin.spark.SparkInterpreter.interpret(SparkInterpreter.java:1136)
        at org.apache.zeppelin.spark.SparkInterpreter.interpret(SparkInterpreter.java:1129)
        at org.apache.zeppelin.interpreter.LazyOpenInterpreter.interpret(LazyOpenInterpreter.java:94)
        at org.apache.zeppelin.interpreter.remote.RemoteInterpreterServer$InterpretJob.jobRun(RemoteInterpreterServer.java:495)
        at org.apache.zeppelin.scheduler.Job.run(Job.java:181)
        at org.apache.zeppelin.scheduler.FIFOScheduler$1.run(FIFOScheduler.java:139)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
{code}

It looks like somehow scala's ReplReporter.error() is printing newline.




--
This message was sent by Atlassian JIRA
(v6.3.15#6346)