mridulm commented on a change in pull request #30096:
URL: https://github.com/apache/spark/pull/30096#discussion_r516895583
##########
File path:
resource-managers/yarn/src/main/scala/org/apache/spark/deploy/yarn/Client.scala
##########
@@ -1172,6 +1181,31 @@ private[spark] class Client(
}.mkString("")
}
+ private def getDriverLogsLink(appId: String): Option[(String, String)] = {
+ val baseRmUrl = WebAppUtils.getRMWebAppURLWithScheme(hadoopConf)
+ val response = ClientBuilder.newClient()
+ .target(baseRmUrl)
+
.path("ws").path("v1").path("cluster").path("apps").path(appId).path("appattempts")
Review comment:
Looks like there is no way to reference these from yarn project directly
?
It does not look like `RMWSConsts` is a public api ?
##########
File path:
resource-managers/yarn/src/main/scala/org/apache/spark/deploy/yarn/Client.scala
##########
@@ -1172,6 +1181,31 @@ private[spark] class Client(
}.mkString("")
}
+ private def getDriverLogsLink(appId: String): Option[(String, String)] = {
+ val baseRmUrl = WebAppUtils.getRMWebAppURLWithScheme(hadoopConf)
+ val response = ClientBuilder.newClient()
+ .target(baseRmUrl)
+
.path("ws").path("v1").path("cluster").path("apps").path(appId).path("appattempts")
+ .request(MediaType.APPLICATION_JSON)
+ .get()
+ response.getStatusInfo.getFamily match {
+ case Family.SUCCESSFUL =>
+ val objectMapper = new ObjectMapper()
+ // If JSON response is malformed somewhere along the way, MissingNode
will be returned,
+ // which allows for safe continuation of chaining. The `elements()`
call will be empty,
+ // and None will get returned.
+ objectMapper.readTree(response.readEntity(classOf[String]))
+ .path("appAttempts").path("appAttempt")
+ .elements().asScala.toList.takeRight(1).headOption
+ .map(_.path("logsLink").asText())
Review comment:
Do we want to filter out in case there is no `logsLink` in response ?
We will end up with invalid url if missing (and so empty).
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]