agrawaldevesh commented on a change in pull request #29452:
URL: https://github.com/apache/spark/pull/29452#discussion_r471981556
##########
File path:
core/src/main/scala/org/apache/spark/scheduler/ExecutorDecommissionInfo.scala
##########
@@ -18,11 +18,21 @@
package org.apache.spark.scheduler
/**
- * Provides more detail when an executor is being decommissioned.
+ * Message providing more detail when an executor is being decommissioned.
* @param message Human readable reason for why the decommissioning is
happening.
* @param isHostDecommissioned Whether the host (aka the `node` or `worker` in
other places) is
* being decommissioned too. Used to infer if the
shuffle data might
* be lost even if the external shuffle service is
enabled.
*/
private[spark]
case class ExecutorDecommissionInfo(message: String, isHostDecommissioned:
Boolean)
+
+/**
+ * State related to decommissioning that is kept by the TaskSchedulerImpl.
This state is derived
+ * from the info message above but it is kept distinct to allow the state to
evolve independently
+ * from the message.
+ */
+case class ExecutorDecommissionState(message: String,
Review comment:
I consider `ExecutorDecommissionInfo` a message because it is a part of
the contract b/w the AppClientListener and Scheduler. It is also embedded
inside the RPC message DecommissionExecutor. So I felt that adding the
timestamp field to a "message' is not a good idea because it bloats it
un-necessarily with information it does not need. It also raises the question
what does that timestamp even mean ? Timestamp of the executor (which can
originate this message) or timestamp of the driver ?
Its not a problem to couple these -- its just a preference to not couple
them so that we can change them as time goes by (evolve them). Having a copy is
redundant but it is also flexible.
By "messages evolving rapidly", sorry I meant the case class
`ExecutorDecommissionInfo` and not the message field inside it. :-P
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]