in server/src/main/scala/org/apache/livy/server/interactive/InteractiveSessionServlet.scala [79:128]
override protected[interactive] def clientSessionView(
session: InteractiveSession,
req: HttpServletRequest): Any = {
val logs =
if (accessManager.hasViewAccess(session.owner,
effectiveUser(req),
session.proxyUser.getOrElse(""))) {
Option(session.logLines())
.map { lines =>
val size = 10
val from = math.max(0, lines.length - size)
val until = from + size
lines.view(from, until)
}
.getOrElse(Nil)
} else {
Nil
}
val conf = if (session.conf != null) {
session.conf.asJava
} else null
val archives = if (session.archives != null) {
session.archives.asJava
} else null
val jars = if (session.jars != null) {
session.jars.asJava
} else null
val pyFiles = if (session.pyFiles != null) {
session.pyFiles.asJava
} else null
val files = if (session.files != null) {
session.files.asJava
} else null
new SessionInfo(session.id, session.name.orNull, session.appId.orNull,
session.owner, session.state.toString, session.kind.toString,
session.appInfo.asJavaMap, logs.asJava, session.ttl.orNull,
session.idleTimeout.orNull, session.driverMemory.orNull,
session.driverCores.getOrElse(0), session.executorMemory.orNull,
session.executorCores.getOrElse(0), conf, archives,
files, session.heartbeatTimeoutS, jars,
session.numExecutors.getOrElse(0), session.proxyUser.orNull, pyFiles,
session.queue.orNull)
}