srowen commented on a change in pull request #23445: [SPARK-26530]Validate 
heartheat arguments in SparkSubmitArguments
URL: https://github.com/apache/spark/pull/23445#discussion_r247349954
 
 

 ##########
 File path: 
core/src/main/scala/org/apache/spark/deploy/SparkSubmitArguments.scala
 ##########
 @@ -301,6 +301,28 @@ private[deploy] class SparkSubmitArguments(args: 
Seq[String], env: Map[String, S
     if (proxyUser != null && principal != null) {
       error("Only one of --proxy-user or --principal can be provided.")
     }
+
+    // Ensure heartbeat arguments is valid.
+    val executorTimeoutMs =
+      Utils.timeStringAsMs(sparkProperties.getOrElse(
+        "spark.storage.blockManagerSlaveTimeoutMs",
+        s"${Utils.timeStringAsSeconds(
+          sparkProperties.getOrElse("spark.network.timeout", "120s"))}s"))
+    val executorHeartbeatIntervalMs = Utils.timeStringAsMs(
+      sparkProperties.getOrElse("spark.executor.heartbeatInterval", "10s"))
+    val checkTimeoutIntervalMs =
+      Utils.timeStringAsSeconds(sparkProperties.getOrElse(
+        "spark.network.timeoutInterval",
+        s"${Utils.timeStringAsMs(sparkProperties.getOrElse(
+          "spark.storage.blockManagerTimeoutIntervalMs", "60s"))}ms")) * 1000
+    if (checkTimeoutIntervalMs >= executorTimeoutMs) {
+      error(s"Incorrect heartbeat arguments, checkTimeoutIntervalMs should " +
+        s"less than executorTimeoutMs.")
+    }
+    if (executorHeartbeatIntervalMs >= checkTimeoutIntervalMs) {
 
 Review comment:
   Overall, these configs need to use the ConfigEntry and be centralized; see 
https://github.com/apache/spark/pull/23447 which kind of blocks this. The 
problem is that this reproduces their default and parsing when it should be in 
one place.
   
   @vanzin where is the best place to validate args like this, here?

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to