Skip to content

Commit

Permalink
[SPARK-3657] yarn alpha YarnRMClientImpl throws NPE appMasterRequest.…
Browse files Browse the repository at this point in the history
…setTrackingUrl starting spark-shell

tgravescs reported this issue.

Following is quoted from tgravescs' report.

YarnRMClientImpl.registerApplicationMaster can throw null pointer exception when setting the trackingurl if its empty:

    appMasterRequest.setTrackingUrl(new URI(uiAddress).getAuthority())

I hit this just start spark-shell without the tracking url set.

14/09/23 16:18:34 INFO yarn.YarnRMClientImpl: Connecting to ResourceManager at kryptonitered-jt1.red.ygrid.yahoo.com/98.139.154.99:8030
Exception in thread "main" java.lang.NullPointerException
        at org.apache.hadoop.yarn.proto.YarnServiceProtos$RegisterApplicationMasterRequestProto$Builder.setTrackingUrl(YarnServiceProtos.java:710)
        at org.apache.hadoop.yarn.api.protocolrecords.impl.pb.RegisterApplicationMasterRequestPBImpl.setTrackingUrl(RegisterApplicationMasterRequestPBImpl.java:132)
        at org.apache.spark.deploy.yarn.YarnRMClientImpl.registerApplicationMaster(YarnRMClientImpl.scala:102)
        at org.apache.spark.deploy.yarn.YarnRMClientImpl.register(YarnRMClientImpl.scala:55)
        at org.apache.spark.deploy.yarn.YarnRMClientImpl.register(YarnRMClientImpl.scala:38)
        at org.apache.spark.deploy.yarn.ApplicationMaster.registerAM(ApplicationMaster.scala:168)
        at org.apache.spark.deploy.yarn.ApplicationMaster.runExecutorLauncher(ApplicationMaster.scala:206)
        at org.apache.spark.deploy.yarn.ApplicationMaster.run(ApplicationMaster.scala:120)

Author: Kousuke Saruta <[email protected]>

Closes #2981 from sarutak/SPARK-3657-2 and squashes the following commits:

e2fd6bc [Kousuke Saruta] Merge branch 'master' of git://git.apache.org/spark into SPARK-3657
70b8882 [Kousuke Saruta] Fixed NPE thrown
  • Loading branch information
sarutak authored and Andrew Or committed Oct 28, 2014
1 parent 1ea3e3d commit 247c529
Showing 1 changed file with 4 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
package org.apache.spark.deploy.yarn

import scala.collection.{Map, Set}
import java.net.URI;
import java.net.URI

import org.apache.hadoop.net.NetUtils
import org.apache.hadoop.yarn.api._
Expand Down Expand Up @@ -109,7 +109,9 @@ private class YarnRMClientImpl(args: ApplicationMasterArguments) extends YarnRMC
appMasterRequest.setHost(Utils.localHostName())
appMasterRequest.setRpcPort(0)
// remove the scheme from the url if it exists since Hadoop does not expect scheme
appMasterRequest.setTrackingUrl(new URI(uiAddress).getAuthority())
val uri = new URI(uiAddress)
val authority = if (uri.getScheme == null) uiAddress else uri.getAuthority
appMasterRequest.setTrackingUrl(authority)
resourceManager.registerApplicationMaster(appMasterRequest)
}

Expand Down

0 comments on commit 247c529

Please sign in to comment.