Benjamin Bannier created MESOS-9612:
---------------------------------------
Summary: Resource provider manager assumes all operations are
triggered by frameworks
Key: MESOS-9612
URL: https://issues.apache.org/jira/browse/MESOS-9612
Project: Mesos
Issue Type: Bug
Components: agent
Reporter: Benjamin Bannier
When the agent tries to apply an operation to resource provider resources, it
invokes {{ResourceProviderManager::applyOperation}} which in turn invokes
{{ResourceProviderManagerProcess::applyOperation}}. That function currently
assumes that the received message contains a valid {{FrameworkID}},
{noformat}
void ResourceProviderManagerProcess::applyOperation(
const ApplyOperationMessage& message)
{
const Offer::Operation& operation = message.operation_info();
const FrameworkID& frameworkId = message.framework_id(); // `framework_id`
is `optional`.
{noformat}
Since {{FrameworkID}} is not a trivial proto types, but instead one with a
{{required}} field {{value}}, the message composed with the {{frameworkId}}
below cannot be serialized which leads to a failure below which in turn
triggers a {{CHECK}} failure in the agent's function interfacing with the
manager.
A typical scenario where we would want to support operator API calls here is to
destroy leftover persistent volumes or reservations.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)