Anand Mazumdar created MESOS-5349:
-------------------------------------

             Summary: A large number of tasks stuck in Staging state.
                 Key: MESOS-5349
                 URL: https://issues.apache.org/jira/browse/MESOS-5349
             Project: Mesos
          Issue Type: Bug
          Components: slave
    Affects Versions: 0.29.0
            Reporter: Anand Mazumdar


We saw a weird issue happening on one of our test clusters over the weekend. A 
large number of tasks from the example {{long running framework}} were stuck in 
staging. The executor was duly sending status updates for all the tasks and the 
slave successfully received the status update as seen from the logs but for 
some reason never got to checkpointing them.

>From the agent logs, it seems that it kept on retrying some backlogged status 
>updates starting with the 4xxx/6xxx range while the present tasks were 
>launched in the 8xxx range. (task ID)

The issue resolved itself after a few hours upon the agent (re-)registering 
with the master upon loosing its ZK session. 

Let's take a timeline of a particular task 8142.

Agent logs before restart
{code}
May 08 00:47:34 ip-10-10-0-6 mesos-slave[2779]: I0508 00:47:34.204941  2820 
slave.cpp:1522] Got assigned task 8142 for framework 
ad2ee74e-24f1-4381-be9a-1af70ba1ced0-0003
May 08 00:47:34 ip-10-10-0-6 mesos-slave[2779]: I0508 00:47:34.205142  2820 
slave.cpp:1641] Launching task 8142 for framework 
ad2ee74e-24f1-4381-be9a-1af70ba1ced0-0003
May 08 00:47:34 ip-10-10-0-6 mesos-slave[2779]: I0508 00:47:34.205656  2820 
slave.cpp:1880] Queuing task '8142' for executor 'default' of framework 
ad2ee74e-24f1-4381-be9a-1af70ba1ced0-0003 (via HTTP)
May 08 00:47:34 ip-10-10-0-6 mesos-slave[2779]: I0508 00:47:34.206092  2818 
disk.cpp:169] Updating the disk resources for container 
f68f137c-b101-4f9f-8de4-f50eae27e969 to cpus(*):0.101; mem(*):33
May 08 00:47:34 ip-10-10-0-6 mesos-slave[2779]: I0508 00:47:34.207093  2816 
mem.cpp:353] Updated 'memory.soft_limit_in_bytes' to 33MB for container 
f68f137c-b101-4f9f-8de4-f50eae27e969
May 08 00:47:34 ip-10-10-0-6 mesos-slave[2779]: I0508 00:47:34.207293  2821 
cpushare.cpp:389] Updated 'cpu.shares' to 103 (cpus 0.101) for container 
f68f137c-b101-4f9f-8de4-f50eae27e969
May 08 00:47:34 ip-10-10-0-6 mesos-slave[2779]: I0508 00:47:34.208742  2821 
cpushare.cpp:411] Updated 'cpu.cfs_period_us' to 100ms and 'cpu.cfs_quota_us' 
to 10100us (cpus 0.101) for container f68f137c-b101-4f9f-8de4-f50eae27e969
May 08 00:47:34 ip-10-10-0-6 mesos-slave[2779]: I0508 00:47:34.208902  2818 
slave.cpp:2032] Sending queued task '8142' to executor 'default' of framework 
ad2ee74e-24f1-4381-be9a-1af70ba1ced0-0003 (via HTTP)
May 08 00:47:34 ip-10-10-0-6 mesos-slave[2779]: I0508 00:47:34.210290  2821 
http.cpp:188] HTTP POST for /slave(1)/api/v1/executor from 10.10.0.6:60921
May 08 00:47:34 ip-10-10-0-6 mesos-slave[2779]: I0508 00:47:34.210357  2821 
slave.cpp:3221] Handling status update TASK_RUNNING (UUID: 
85323c4f-e523-495e-9b49-39b0a7792303) for task 8142 of framework 
ad2ee74e-24f1-4381-be9a-1af70ba1ced0-0003
May 08 00:47:40 ip-10-10-0-6 mesos-slave[2779]: I0508 00:47:40.213770  2817 
http.cpp:188] HTTP POST for /slave(1)/api/v1/executor from 10.10.0.6:60921
May 08 00:47:40 ip-10-10-0-6 mesos-slave[2779]: I0508 00:47:40.213882  2817 
slave.cpp:3221] Handling status update TASK_FINISHED (UUID: 
285b73e1-7f5a-43e5-8385-7b76e0fbdad4) for task 8142 of framework 
ad2ee74e-24f1-4381-be9a-1af70ba1ced0-0003
May 08 00:47:40 ip-10-10-0-6 mesos-slave[2779]: I0508 00:47:40.214787  2821 
disk.cpp:169] Updating the disk resources for container 
f68f137c-b101-4f9f-8de4-f50eae27e969 to cpus(*):0.1; mem(*):32
May 08 00:47:40 ip-10-10-0-6 mesos-slave[2779]: I0508 00:47:40.215365  2823 
cpushare.cpp:389] Updated 'cpu.shares' to 102 (cpus 0.1) for container 
f68f137c-b101-4f9f-8de4-f50eae27e969
May 08 00:47:40 ip-10-10-0-6 mesos-slave[2779]: I0508 00:47:40.215641  2820 
mem.cpp:353] Updated 'memory.soft_limit_in_bytes' to 32MB for container 
f68f137c-b101-4f9f-8de4-f50eae27e969
May 08 00:47:40 ip-10-10-0-6 mesos-slave[2779]: I0508 00:47:40.216878  2823 
cpushare.cpp:411] Updated 'cpu.cfs_period_us' to 100ms and 'cpu.cfs_quota_us' 
to 10ms (cpus 0.1) for container f68f137c-b101-4f9f-8de4-f50eae27e969
{code}

Agent logs for this task upon restart:
{code}
May 09 15:22:14 ip-10-10-0-6 mesos-slave[14314]: W0509 15:22:14.083993 14318 
state.cpp:606] Failed to find status updates file 
'/var/lib/mesos/slave/meta/slaves/ad2ee74e-24f1-4381-be9a-1af70ba1ced0-S1/frameworks/ad2ee74e-24f1-4381-be9a-1af70ba1ced0-0003/executors/default/runs/f68f137c-b101-4f9f-8de4-f50eae27e969/tasks/8142/task.updates'
{code}

Things that need to be investigated:
- Why couldn't the agent get around to handling the status updates from the 
executor i.e. even checkpointing them?
- What made the agent get _so_ backlogged on the status updates i.e. why it 
kept resending the old status updates for the 4xxxx/6xxxx tasks without getting 
around to the newer tasks.

PFA the agent/master logs. This is running against Mesos HEAD -> 
557cab591f35a6c3d2248d7af7f06cdf99726e92



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

Reply via email to