[ 
https://issues.apache.org/jira/browse/MESOS-2463?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Chi Zhang updated MESOS-2463:
-----------------------------
    Description: 
{code}
static ExecutorInfo decorateExecutorEnvironment(
    ExecutorInfo executorInfo,
    const TaskInfo& taskInfo)
{
  // Merge environment variables retrieved from label-decorator hooks.
  executorInfo.mutable_command()->mutable_environment()->MergeFrom(
      HookManager::slaveLaunchExecutorEnvironmentDecorator(
          executorInfo,
          taskInfo));

  return executorInfo;
}
{code}

does a default allocation of environment, even when the original ExecutorInfo 
doesn't have one set.

When a new master is elected and receives this copy, it would reject tasks for 
the same Executor because of this difference:

Existing ExecutorInfo has :
command {
uris
{ value: "/usr/local/bin/gc_executor" executable: true }

environment {
}
value: "./gc_executor"
}
framework_id
{ value: "201103282247-0000000019-0000" }

------------------------------------------------------------
New Task's ExecutorInfo has:
command {
uris
{ value: "/usr/local/bin/gc_executor" executable: true }

value: "./gc_executor"
}
framework_id
{ value: "201103282247-0000000019-0000" } 





  was:
{code}
static ExecutorInfo decorateExecutorEnvironment(
    ExecutorInfo executorInfo,
    const TaskInfo& taskInfo)
{
  // Merge environment variables retrieved from label-decorator hooks.
  executorInfo.mutable_command()->mutable_environment()->MergeFrom(
      HookManager::slaveLaunchExecutorEnvironmentDecorator(
          executorInfo,
          taskInfo));

  return executorInfo;
}
{code}

does a default allocation of environment, even when the original ExecutorInfo 
doesn't have one set.

When new master is elected and receives this copy, it would reject tasks for 
the same Executor because of this difference:

Existing ExecutorInfo has :
command {
uris
{ value: "/usr/local/bin/gc_executor" executable: true }

environment {
}
value: "./gc_executor"
}
framework_id
{ value: "201103282247-0000000019-0000" }

------------------------------------------------------------
New Task's ExecutorInfo has:
command {
uris
{ value: "/usr/local/bin/gc_executor" executable: true }

value: "./gc_executor"
}
framework_id
{ value: "201103282247-0000000019-0000" } 






> Slaves sends mutated copy of executorinfo to new elected master
> ---------------------------------------------------------------
>
>                 Key: MESOS-2463
>                 URL: https://issues.apache.org/jira/browse/MESOS-2463
>             Project: Mesos
>          Issue Type: Bug
>            Reporter: Chi Zhang
>            Priority: Blocker
>             Fix For: 0.22.0
>
>
> {code}
> static ExecutorInfo decorateExecutorEnvironment(
>     ExecutorInfo executorInfo,
>     const TaskInfo& taskInfo)
> {
>   // Merge environment variables retrieved from label-decorator hooks.
>   executorInfo.mutable_command()->mutable_environment()->MergeFrom(
>       HookManager::slaveLaunchExecutorEnvironmentDecorator(
>           executorInfo,
>           taskInfo));
>   return executorInfo;
> }
> {code}
> does a default allocation of environment, even when the original ExecutorInfo 
> doesn't have one set.
> When a new master is elected and receives this copy, it would reject tasks 
> for the same Executor because of this difference:
> Existing ExecutorInfo has :
> command {
> uris
> { value: "/usr/local/bin/gc_executor" executable: true }
> environment {
> }
> value: "./gc_executor"
> }
> framework_id
> { value: "201103282247-0000000019-0000" }
> ------------------------------------------------------------
> New Task's ExecutorInfo has:
> command {
> uris
> { value: "/usr/local/bin/gc_executor" executable: true }
> value: "./gc_executor"
> }
> framework_id
> { value: "201103282247-0000000019-0000" } 



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to