Uploaded image for project: 'Spark'
  1. Spark
  2. SPARK-36321

Do not fail application in kubernetes if name is too long

    XMLWordPrintableJSON

Details

    Description

      If we have a long spark app name and start with k8s master, we will get the execption.

      java.lang.IllegalArgumentException: 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-89fe2f7ae71c3570' in spark.kubernetes.executor.podNamePrefix is invalid. must conform https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#dns-label-names and the value length <= 47
      	at org.apache.spark.internal.config.TypedConfigBuilder.$anonfun$checkValue$1(ConfigBuilder.scala:108)
      	at org.apache.spark.internal.config.TypedConfigBuilder.$anonfun$transform$1(ConfigBuilder.scala:101)
      	at scala.Option.map(Option.scala:230)
      	at org.apache.spark.internal.config.OptionalConfigEntry.readFrom(ConfigEntry.scala:239)
      	at org.apache.spark.internal.config.OptionalConfigEntry.readFrom(ConfigEntry.scala:214)
      	at org.apache.spark.SparkConf.get(SparkConf.scala:261)
      	at org.apache.spark.deploy.k8s.KubernetesConf.get(KubernetesConf.scala:67)
      	at org.apache.spark.deploy.k8s.KubernetesExecutorConf.<init>(KubernetesConf.scala:147)
      	at org.apache.spark.deploy.k8s.KubernetesConf$.createExecutorConf(KubernetesConf.scala:231)
      	at org.apache.spark.scheduler.cluster.k8s.ExecutorPodsAllocator.$anonfun$requestNewExecutors$2(ExecutorPodsAllocator.scala:367)
      

      Use app name as the executor pod name is the Spark internal behavior and we should not make application failure.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              ulysses XiDuo You
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: