Dalton Matos Coelho Barreto created MESOS-10068:
---------------------------------------------------

             Summary: Mesos Master doesn't send AGENT_REWOVED when removing 
agent from internal state
                 Key: MESOS-10068
                 URL: https://issues.apache.org/jira/browse/MESOS-10068
             Project: Mesos
          Issue Type: Bug
          Components: master
    Affects Versions: 1.7.3, 1.8.2, 1.9.1
            Reporter: Dalton Matos Coelho Barreto


Hello,

 

Looking at the documentation of the master {{/api/v1}} endpoint, the 
{{SUBSCRIBE}} message says that only {{TASK_ADDED}} and {{TASK_UPDATED}} is 
supported for this endpoint, but when a new agent joins the cluster a 
{{AGENT_ADDED}} event is received.

The problem is that when this agent is stopped the {{AGENT_REMOVED}} is not 
received by clients subscribed to the master API.

 

I testes this behavior with versions: {{1.7.3}}, {{1.8.2}} and {{1.9.1}}. All 
using the docker image {{mesos/mesos-centos}}.

The only way I saw a {{AGENT_REMOVED}} event was when a new agent joined the 
cluster but the master couldn't communicate with this agent, in this specific 
test there was a firewall blocking port {{5051}} on the slave, that is, no body 
was being able to tal to the slave on port {{5051}}.

 
h2. Here are the steps do reproduce the problem
 * Start a new mesos master
 * Connect to the {{/api/v1}} endpoint, sendingo a {{SUBSCRIBE}} message:
 ** 
{noformat}
curl --no-buffer -Ld '{"type": "SUBSCRIBE"}' -H "Content-Type: 
application/json" http://MASTER_IP:5050/api/v1{noformat}

 * Start a new slave and confirm the {{AGENT_ADDED}} event is delivered;
 * Stop this slave;
 * Checks that {{/slaves?slave_id=AGENT_ID}} returns a JSON response with the 
field {{active=false}}.
 * Waits for mesos master stop listing this slave, that is, 
{{/slaves?slave_id=AGENT_ID}} returns an empty response;

Even after the empty response, the event never reaches the subscriber.

 

The mesos master logs shows this:
{noformat}
 I1213 15:03:10.338935    13 master.cpp:1297] Agent 
2cd23025-c09d-401b-8f26-9265eda8f800-S1 at slave(1)@172.18.0.51:5051 
(86813ca2a964) disconnected
I1213 15:03:10.339089    13 master.cpp:3399] Disconnecting agent 
2cd23025-c09d-401b-8f26-9265eda8f800-S1 at slave(1)@172.18.0.51:5051 
(86813ca2a964)
I1213 15:03:10.339207    13 master.cpp:3418] Deactivating agent 
2cd23025-c09d-401b-8f26-9265eda8f800-S1 at slave(1)@172.18.0.51:5051 
(86813ca2a964)
{noformat}
And then:
{noformat}
W1213 15:04:40.726670    15 process.cpp:1917] Failed to send 
'mesos.internal.PingSlaveMessage' to '172.18.0.51:5051', connect: Failed to 
connect to 172.18.0.51:5051: No route to host{noformat}
And some time after this:
{noformat}
I1213 15:04:37.685007     7 hierarchical.cpp:900] Removed agent 
2cd23025-c09d-401b-8f26-9265eda8f800-S1   {noformat}
I will attach the full master logs also.

 

Do you think this could be a bug?



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to