[
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)