You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@mesos.apache.org by "Benjamin Bannier (JIRA)" <ji...@apache.org> on 2018/02/02 14:06:00 UTC

[jira] [Created] (MESOS-8536) Pending offer operations on resource provider resources not properly accounted for in allocator

Benjamin Bannier created MESOS-8536:
---------------------------------------

             Summary: Pending offer operations on resource provider resources not properly accounted for in allocator
                 Key: MESOS-8536
                 URL: https://issues.apache.org/jira/browse/MESOS-8536
             Project: Mesos
          Issue Type: Bug
          Components: master
    Affects Versions: 1.5.0
            Reporter: Benjamin Bannier
            Assignee: Benjamin Bannier


The master currently does not accumulate the resources used by offer operations on master failover. While we create a datastructure to hold this information, we missed updating it.
{code}
hashmap<FrameworkID, Resources> usedByOperations;

if (provider.newOperations.isSome()) {
  foreachpair (const id::UUID& uuid,
               const Operation& operation,
               provider.newOperations.get()) {
    // Update to bookkeeping of operations.
    CHECK(!slave->operations.contains(uuid))
      << "New operation " << uuid.toString() << " is already known";

    Framework* framework = nullptr;
    if (operation.has_framework_id()) {
      framework = getFramework(operation.framework_id());
    }

    addOperation(framework, slave, new Operation(operation));
  }
}

allocator->addResourceProvider(
    slaveId,
    provider.newTotal.get(),
    usedByOperations);
{code}

Here {{usedByOperations}} is not updated.

This leads to problems when the operation becomes terminal and we try to recover the used resources which might not be known to the framework sorter inside the hierarchical allocator.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)