[ 
https://issues.apache.org/jira/browse/MESOS-3891?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Klaus Ma updated MESOS-3891:
----------------------------
    Description: 
Launching a task using revocable resources should be funnelled through an 
accounting system:

* If a task is launched using revocable resources, the resources must not be in 
use when launching the task.  If they are in use, then the task should fail to 
start.
* If a task is launched using reserved resources, the resources must be made 
available.  This means potentially evicting tasks which are using revocable 
resources.

Both cases could be implemented by adding a check in Slave::runTask, like a new 
helper method:

{noformat}
class Slave {
  ...
  // Checks if the given resources are available (i.e. not utilized)
  // for starting a task.  If not, the task should either fail to
  // start or result in the eviction of revocable resources.
  virtual process::Future<bool> checkAvailableResources(
      const Resources& resources);
  ...
}
{noformat}

  was:
{noformat}
class Slave {
  ...
  // Checks if the given resources are available (i.e. not utilized)
  // for starting a task.  If not, the task should either fail to
  // start or result in the eviction of revocable resources.
  virtual process::Future<bool> checkAvailableResources(
      const Resources& resources);
  ...
}
{noformat}


> Add a helper function to the Agent to check available resources before 
> launching a task. 
> -----------------------------------------------------------------------------------------
>
>                 Key: MESOS-3891
>                 URL: https://issues.apache.org/jira/browse/MESOS-3891
>             Project: Mesos
>          Issue Type: Bug
>            Reporter: Artem Harutyunyan
>            Assignee: Artem Harutyunyan
>              Labels: mesosphere
>
> Launching a task using revocable resources should be funnelled through an 
> accounting system:
> * If a task is launched using revocable resources, the resources must not be 
> in use when launching the task.  If they are in use, then the task should 
> fail to start.
> * If a task is launched using reserved resources, the resources must be made 
> available.  This means potentially evicting tasks which are using revocable 
> resources.
> Both cases could be implemented by adding a check in Slave::runTask, like a 
> new helper method:
> {noformat}
> class Slave {
>   ...
>   // Checks if the given resources are available (i.e. not utilized)
>   // for starting a task.  If not, the task should either fail to
>   // start or result in the eviction of revocable resources.
>   virtual process::Future<bool> checkAvailableResources(
>       const Resources& resources);
>   ...
> }
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to