Uploaded image for project: 'Test Project'
  1. Test Project
  2. TST-238

Avoid noisy Jetty WARN log when failing to bind a port

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Minor
    • Resolution: Invalid
    • None
    • something
    • component-2
    • None

    Description

      As a user, I would like to suppress the Jetty WARN log about failing to bind to a port already in use, so that my logs are less noisy.

      Currently, Jetty code prints the stack trace of the BindException at WARN level. In the context of starting a service on an ephemeral port, this is not a useful warning, and it is exceedingly verbose.

      17/03/06 14:57:26 WARN AbstractLifeCycle: FAILED ServerConnector@79476a4e{HTTP/1.1}{0.0.0.0:4040}: java.net.BindException: Address already in use
      java.net.BindException: Address already in use
      	at sun.nio.ch.Net.bind0(Native Method)
      	at sun.nio.ch.Net.bind(Net.java:433)
      	at sun.nio.ch.Net.bind(Net.java:425)
      	at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:223)
      	at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:74)
      	at org.spark_project.jetty.server.ServerConnector.open(ServerConnector.java:321)
      	at org.spark_project.jetty.server.AbstractNetworkConnector.doStart(AbstractNetworkConnector.java:80)
      	at org.spark_project.jetty.server.ServerConnector.doStart(ServerConnector.java:236)
      	at org.spark_project.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
      	at org.spark_project.jetty.server.Server.doStart(Server.java:366)
      	at org.spark_project.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
      	at org.apache.spark.ui.JettyUtils$.org$apache$spark$ui$JettyUtils$$connect$1(JettyUtils.scala:306)
      	at org.apache.spark.ui.JettyUtils$$anonfun$5.apply(JettyUtils.scala:316)
      	at org.apache.spark.ui.JettyUtils$$anonfun$5.apply(JettyUtils.scala:316)
      	at org.apache.spark.util.Utils$$anonfun$startServiceOnPort$1.apply$mcVI$sp(Utils.scala:2175)
      	at scala.collection.immutable.Range.foreach$mVc$sp(Range.scala:160)
      	at org.apache.spark.util.Utils$.startServiceOnPort(Utils.scala:2166)
      	at org.apache.spark.ui.JettyUtils$.startJettyServer(JettyUtils.scala:316)
      	at org.apache.spark.ui.WebUI.bind(WebUI.scala:139)
      	at org.apache.spark.SparkContext$$anonfun$10.apply(SparkContext.scala:448)
      	at org.apache.spark.SparkContext$$anonfun$10.apply(SparkContext.scala:448)
      	at scala.Option.foreach(Option.scala:257)
      	at org.apache.spark.SparkContext.<init>(SparkContext.scala:448)
      	at org.apache.spark.SparkContext$.getOrCreate(SparkContext.scala:2282)
      	at org.apache.spark.sql.SparkSession$Builder$$anonfun$8.apply(SparkSession.scala:831)
      	at org.apache.spark.sql.SparkSession$Builder$$anonfun$8.apply(SparkSession.scala:823)
      	at scala.Option.getOrElse(Option.scala:121)
      	at org.apache.spark.sql.SparkSession$Builder.getOrCreate(SparkSession.scala:823)
      	at org.apache.spark.repl.Main$.createSparkSession(Main.scala:95)
      	at $line3.$read$$iw$$iw.<init>(<console>:15)
      	at $line3.$read$$iw.<init>(<console>:31)
      	at $line3.$read.<init>(<console>:33)
      	at $line3.$read$.<init>(<console>:37)
      	at $line3.$read$.<clinit>(<console>)
      	at $line3.$eval$.$print$lzycompute(<console>:7)
      	at $line3.$eval$.$print(<console>:6)
      	at $line3.$eval.$print(<console>)
      	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:498)
      	at scala.tools.nsc.interpreter.IMain$ReadEvalPrint.call(IMain.scala:786)
      	at scala.tools.nsc.interpreter.IMain$Request.loadAndRun(IMain.scala:1047)
      	at scala.tools.nsc.interpreter.IMain$WrappedRequest$$anonfun$loadAndRunReq$1.apply(IMain.scala:638)
      	at scala.tools.nsc.interpreter.IMain$WrappedRequest$$anonfun$loadAndRunReq$1.apply(IMain.scala:637)
      	at scala.reflect.internal.util.ScalaClassLoader$class.asContext(ScalaClassLoader.scala:31)
      	at scala.reflect.internal.util.AbstractFileClassLoader.asContext(AbstractFileClassLoader.scala:19)
      	at scala.tools.nsc.interpreter.IMain$WrappedRequest.loadAndRunReq(IMain.scala:637)
      	at scala.tools.nsc.interpreter.IMain.interpret(IMain.scala:569)
      	at scala.tools.nsc.interpreter.IMain.interpret(IMain.scala:565)
      	at scala.tools.nsc.interpreter.ILoop.interpretStartingWith(ILoop.scala:807)
      	at scala.tools.nsc.interpreter.ILoop.command(ILoop.scala:681)
      	at scala.tools.nsc.interpreter.ILoop.processLine(ILoop.scala:395)
      	at org.apache.spark.repl.SparkILoop$$anonfun$initializeSpark$1.apply$mcV$sp(SparkILoop.scala:38)
      	at org.apache.spark.repl.SparkILoop$$anonfun$initializeSpark$1.apply(SparkILoop.scala:37)
      	at org.apache.spark.repl.SparkILoop$$anonfun$initializeSpark$1.apply(SparkILoop.scala:37)
      	at scala.tools.nsc.interpreter.IMain.beQuietDuring(IMain.scala:214)
      	at org.apache.spark.repl.SparkILoop.initializeSpark(SparkILoop.scala:37)
      	at org.apache.spark.repl.SparkILoop.loadFiles(SparkILoop.scala:94)
      	at scala.tools.nsc.interpreter.ILoop$$anonfun$process$1.apply$mcZ$sp(ILoop.scala:920)
      	at scala.tools.nsc.interpreter.ILoop$$anonfun$process$1.apply(ILoop.scala:909)
      	at scala.tools.nsc.interpreter.ILoop$$anonfun$process$1.apply(ILoop.scala:909)
      	at scala.reflect.internal.util.ScalaClassLoader$.savingContextLoader(ScalaClassLoader.scala:97)
      	at scala.tools.nsc.interpreter.ILoop.process(ILoop.scala:909)
      	at org.apache.spark.repl.Main$.doMain(Main.scala:68)
      	at org.apache.spark.repl.Main$.main(Main.scala:51)
      	at org.apache.spark.repl.Main.main(Main.scala)
      	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:498)
      	at org.apache.spark.deploy.SparkSubmit$.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:736)
      	at org.apache.spark.deploy.SparkSubmit$.doRunMain$1(SparkSubmit.scala:185)
      	at org.apache.spark.deploy.SparkSubmit$.submit(SparkSubmit.scala:210)
      	at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:124)
      	at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
      

      Attachments

        Activity

          People

            Unassigned Unassigned
            dagit Derek Dagit
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: