Github user sarutak commented on a diff in the pull request:

    https://github.com/apache/spark/pull/2432#discussion_r18202042
  
    --- Diff: 
core/src/main/scala/org/apache/spark/scheduler/SchedulerBackend.scala ---
    @@ -34,9 +36,11 @@ private[spark] trait SchedulerBackend {
     
       /**
        * The application ID associated with the job, if any.
    +   * It is expected that the subclasses of TaskScheduler or 
SchedulerBackend
    +   * override this method and return an unique application ID.
        *
    -   * @return The application ID, or None if the backend does not provide 
an ID.
    +   * @return The application ID, if the backend does not provide an ID.
        */
    -  def applicationId(): Option[String] = None
    +  def applicationId() = new 
ApplicationId(System.currentTimeMillis.toString)
    --- End diff --
    
    I've checked Mesos' code and I found following things.
    
    * FrameworkID is assigned by MesosMaster for each process which execute 
SchedulerDriver(for Mesos, MesosSchedulerDriver), and registration. Instances 
of MesosSchedulerDriver are contained in 
CoarseMesosSchedulerBackend/MesosSchedulerBackend.
    
    * CoarseMesosSchedulerBackend/MesosSchedulerBackend#start is invoked, 
MesosMaster registers a framework to a registered-frameworks-list.
    
    * When CoraseMesosSchedulerBackend/MesosSchedulerBackend#stop is invoked, 
Master unregisters a framework from a registered-frameworks-list.
    
    So, I think we can use FrameworkID as an unique Application ID.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

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

Reply via email to