Github user vanzin commented on a diff in the pull request: https://github.com/apache/spark/pull/20669#discussion_r174627764 --- Diff: resource-managers/kubernetes/core/src/main/scala/org/apache/spark/deploy/k8s/submit/KubernetesClientApplication.scala --- @@ -180,6 +184,31 @@ private[spark] class Client( originalMetadata.setOwnerReferences(Collections.singletonList(driverPodOwnerReference)) } } + + // Build a Config Map that will house both the properties and the java options in a single file + private def buildConfigMap( + configMapName: String, + conf: SparkConf, + driverJavaOps: String): ConfigMap = { + val properties = new Properties() + conf + .remove(org.apache.spark.internal.config.DRIVER_JAVA_OPTIONS) + .getAll.foreach { case (k, v) => + properties.setProperty(k, v) + } + val propertiesWriter = new StringWriter() + properties.store(propertiesWriter, + s"Java properties built from Kubernetes config map with name: $configMapName") + + val namespace = conf.get(KUBERNETES_NAMESPACE) + new ConfigMapBuilder() + .withNewMetadata() + .withName(configMapName) + .withNamespace(namespace) + .endMetadata() + .addToData(SPARK_CONF_FILE_NAME, propertiesWriter.toString + driverJavaOps) --- End diff -- > One data item with the JVM options. Why? spark-submit handles that already.
--- --------------------------------------------------------------------- To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For additional commands, e-mail: reviews-h...@spark.apache.org