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)