Guangya Liu created MESOS-4447:
----------------------------------

             Summary: Updated reserved() API
                 Key: MESOS-4447
                 URL: https://issues.apache.org/jira/browse/MESOS-4447
             Project: Mesos
          Issue Type: Bug
            Reporter: Guangya Liu
            Assignee: Guangya Liu


There are some problems for current {{reserve}} API. The problem is as 
following:

{code}
hashmap<string, Resources> Resources::reserved() const
{
  hashmap<string, Resources> result;

  foreach (const Resource& resource, resources) {
    if (isReserved(resource)) {
      result[resource.role()] += resource;
    }
  }

  return result;
}


Resources Resources::reserved(const string& role) const
{
  return filter(lambda::bind(isReserved, lambda::_1, role));
}

bool Resources::isReserved(
    const Resource& resource,
    const Option<string>& role)
{
  if (role.isSome()) {
    return !isUnreserved(resource) && role.get() == resource.role();
  } else {
    return !isUnreserved(resource);
  }
}
{code}

This caused the {{reserved(const string& role) }} has no chance to transfer a   
None() parameter to get all reserved resources in flatten mode.

The solution is remove {{reserved()}} and update {{reserved(const string& role) 
}} to {{reserved(const Option<string>& role = None()) }}



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

Reply via email to