Skip to content

Commit 4c99e63

Browse files
authored
Handle nulls in k8s responses correctly (apache-spark-on-k8s#334)
1 parent 2c8c96b commit 4c99e63

File tree

1 file changed

+15
-8
lines changed

1 file changed

+15
-8
lines changed

resource-managers/kubernetes/core/src/main/scala/org/apache/spark/deploy/k8s/submit/LoggingPodStatusWatcher.scala

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -117,15 +117,22 @@ private[k8s] class LoggingPodStatusWatcherImpl(
117117
("node name", pod.getSpec.getNodeName()),
118118

119119
// status
120-
("start time", pod.getStatus.getStartTime.getTime),
120+
("start time", Option.apply(pod.getStatus)
121+
.flatMap(status => Option.apply(status.getStartTime))
122+
.map(_.getTime)
123+
.getOrElse("unknown")),
121124
("container images",
122-
pod.getStatus.getContainerStatuses()
123-
.asScala
124-
.map(_.getImage)
125-
.mkString(", ")),
126-
("phase", pod.getStatus.getPhase()),
127-
("status", pod.getStatus.getContainerStatuses().toString)
128-
)
125+
Option.apply(pod.getStatus)
126+
.flatMap(status => Option.apply(status.getContainerStatuses()))
127+
.map(_.asScala
128+
.map(_.getImage)
129+
.mkString(", "))
130+
.getOrElse("unknown")),
131+
("phase", Option.apply(pod.getStatus).map(_.getPhase).getOrElse("unknown")),
132+
("status", Option.apply(pod.getStatus)
133+
.flatMap(status => Option.apply(status.getContainerStatuses))
134+
.map(_.toString)
135+
.getOrElse("unknown")))
129136
formatPairsBundle(details)
130137
}
131138

0 commit comments

Comments
 (0)