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

Travis Hegner updated MESOS-5294:
---------------------------------
    Description: 
With command health checks enabled via marathon, mesos-dns will resolve the 
task correctly until the task is reported as "healthy". At that point, 
mesos-dns stops resolving the task correctly.

-Digging through src/docker/executor.cpp, I found that in the 
{{taskHealthUpdated()}} function is attempting to copy the taskID to the new 
status instance with

{code}status.mutable_task_id()->CopyFrom(taskID);{code}

 but other instances of status updates have a similar line

{code}status.mutable_task_id()->CopyFrom(taskID.get());{code}

My assumption is that this difference is causing the status update after a 
health check to not have a proper taskID, which in turn is causing an incorrect 
state.json output.

I'll try to get a patch together soon.-

  was:
With command health checks enabled via marathon, mesos-dns will resolve the 
task correctly until the task is reported as "healthy". At that point, 
mesos-dns stops resolving the task correctly.

Digging through src/docker/executor.cpp, I found that in the 
{{taskHealthUpdated()}} function is attempting to copy the taskID to the new 
status instance with

{code}status.mutable_task_id()->CopyFrom(taskID);{code}

 but other instances of status updates have a similar line

{code}status.mutable_task_id()->CopyFrom(taskID.get());{code}

My assumption is that this difference is causing the status update after a 
health check to not have a proper taskID, which in turn is causing an incorrect 
state.json output.

I'll try to get a patch together soon.


> Status updates after a health check are incomplete or invalid
> -------------------------------------------------------------
>
>                 Key: MESOS-5294
>                 URL: https://issues.apache.org/jira/browse/MESOS-5294
>             Project: Mesos
>          Issue Type: Bug
>         Environment: mesos 0.28.0, docker 1.11, marathon 0.15.3, mesos-dns, 
> ubuntu 14.04
>            Reporter: Travis Hegner
>            Assignee: Travis Hegner
>   Original Estimate: 2h
>  Remaining Estimate: 2h
>
> With command health checks enabled via marathon, mesos-dns will resolve the 
> task correctly until the task is reported as "healthy". At that point, 
> mesos-dns stops resolving the task correctly.
> -Digging through src/docker/executor.cpp, I found that in the 
> {{taskHealthUpdated()}} function is attempting to copy the taskID to the new 
> status instance with
> {code}status.mutable_task_id()->CopyFrom(taskID);{code}
>  but other instances of status updates have a similar line
> {code}status.mutable_task_id()->CopyFrom(taskID.get());{code}
> My assumption is that this difference is causing the status update after a 
> health check to not have a proper taskID, which in turn is causing an 
> incorrect state.json output.
> I'll try to get a patch together soon.-



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

Reply via email to