Anindya Sinha created MESOS-7308: ------------------------------------ Summary: Race condition in `updateAllocation()` on DESTORY of a shared volume. Key: MESOS-7308 URL: https://issues.apache.org/jira/browse/MESOS-7308 Project: Mesos Issue Type: Bug Components: general Reporter: Anindya Sinha Assignee: Anindya Sinha
When a {{DESTROY}} (for shared volume) is processed in the master actor, we rescind pending offers to which the volume to be destroyed is already offered to. Before allocator executes the {{updateAllocation()}} API, offers with the same shared volume can be sent to frameworks since the destroyed shared volume is not removed from {{slaves.total}} till {{updateAllocation()}} completes. As a result, the following check can fail: {code} CHECK_EQ( frameworkAllocation.flatten().createStrippedScalarQuantity(), updatedFrameworkAllocation.flatten().createStrippedScalarQuantity()); {code} We need to address this condition by not failing the {{CHECK_EQ}}, and also ensuring that the master's state is restored to honor the {{DESTROY}} of the shared volume. -- This message was sent by Atlassian JIRA (v6.3.15#6346)