[
https://issues.apache.org/jira/browse/MESOS-4447?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Guangya Liu updated MESOS-4447:
-------------------------------
Description:
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 rename {{reserved()}} to {{reservations}}
was:
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()) }}
> Renamed reserved() API to reservations()
> ----------------------------------------
>
> 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 rename {{reserved()}} to {{reservations}}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)