You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@mesos.apache.org by Zhitao Li <zh...@gmail.com> on 2018/07/03 22:08:41 UTC

Review Request 67822: Avoid duplicate unmount dangling mount point.

-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/67822/
-----------------------------------------------------------

Review request for mesos, Chun-Hung Hsiao, Jason Lai, and Jie Yu.


Bugs: MESOS-8830
    https://issues.apache.org/jira/browse/MESOS-8830


Repository: mesos


Description
-------

We could potentially schedule the framework dir, executor dir, and
executor run sandbox to gc at the same time, and then these
paths will be gc independently, although they are parents and
children directories. This patch makes sure we do not call unmount
anymore after a success.


Diffs
-----

  src/slave/gc.cpp 407f6b23f87cf2e2bdaf873c8adcda57f5d559b3 


Diff: https://reviews.apache.org/r/67822/diff/1/


Testing
-------

```make```


Thanks,

Zhitao Li


Re: Review Request 67822: Avoid duplicate unmount dangling mount point.

Posted by Mesos Reviewbot Windows <re...@mesos.apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/67822/#review205701
-----------------------------------------------------------



FAIL: Some of the unit tests failed. Please check the relevant logs.

Reviews applied: `['67822']`

Failed command: `Start-MesosCITesting`

All the build artifacts available at: http://dcos-win.westus.cloudapp.azure.com/mesos-build/review/67822

Relevant logs:

- [mesos-tests-stdout.log](http://dcos-win.westus.cloudapp.azure.com/mesos-build/review/67822/logs/mesos-tests-stdout.log):

```
[ RUN      ] DockerContainerizerTest.ROOT_DOCKER_DestroyWhilePulling
[       OK ] DockerContainerizerTest.ROOT_DOCKER_DestroyWhilePulling (799 ms)
[ RUN      ] DockerContainerizerTest.ROOT_DOCKER_DestroyUnknownContainer
[       OK ] DockerContainerizerTest.ROOT_DOCKER_DestroyUnknownContainer (602 ms)
[ RUN      ] DockerContainerizerTest.ROOT_DOCKER_ExecutorCleanupWhenLaunchFailed
[       OK ] DockerContainerizerTest.ROOT_DOCKER_ExecutorCleanupWhenLaunchFailed (1223 ms)
[ RUN      ] DockerContainerizerTest.ROOT_DOCKER_FetchFailure
[       OK ] DockerContainerizerTest.ROOT_DOCKER_FetchFailure (797 ms)
[ RUN      ] DockerContainerizerTest.ROOT_DOCKER_DockerPullFailure
[       OK ] DockerContainerizerTest.ROOT_DOCKER_DockerPullFailure (798 ms)
[ RUN      ] DockerContainerizerTest.ROOT_DOCKER_DockerInspectDiscard
[       OK ] DockerContainerizerTest.ROOT_DOCKER_DockerInspectDiscard (998 ms)
[ RUN      ] DockerContainerizerTest.ROOT_DOCKER_WaitUnknownContainer
[       OK ] DockerContainerizerTest.ROOT_DOCKER_WaitUnknownContainer (598 ms)
[ RUN      ] DockerContainerizerTest.ROOT_DOCKER_NoTransitionFromKillingToRunning
[       OK ] DockerContainerizerTest.ROOT_DOCKER_NoTransitionFromKillingToRunning (5663 ms)
[ RUN      ] DockerContainerizerTest.ROOT_DOCKER_DefaultDNS
[       OK ] DockerContainerizerTest.ROOT_DOCKER_DefaultDNS (5054 ms)
[----------] 24 tests from DockerContainerizerTest (94432 ms total)

[----------] 1 test from HungDockerTest
[ RUN      ] HungDockerTest.ROOT_DOCKER_InspectHungDuringPull

d:\dcos\mesos\mesos\src\tests\mock_docker.hpp(155): ERROR: this mock object (used in test HungDockerTest.ROOT_DOCKER_InspectHungDuringPull) should be deleted but never is. Its address is @0000009F9197BAD0.
d:\dcos\mesos\mesos\src\tests\containerizer\docker_containerizer_tests.cpp(5187): ERROR: this mock object (used in test HungDockerTest.ROOT_DOCKER_InspectHungDuringPull) should be deleted but never is. Its address is @0000009F9197BD30.
d:\dcos\mesos\mesos\src\tests\mock_registrar.cpp(54): ERROR: this mock object (used in test HungDockerTest.ROOT_DOCKER_InspectHungDuringPull) should be deleted but never is. Its address is @000001DC0E849B70.
d:\dcos\mesos\mesos\src\tests\mock_docker.cpp(48): ERROR: this mock object (used in test HungDockerTest.ROOT_DOCKER_InspectHungDuringPull) should be deleted but never is. Its address is @000001DC102C83F0.
d:\dcos\mesos\mesos\3rdparty\libprocess\include\process\gmock.hpp(235): ERROR: this mock object (used in test HungDockerTest.ROOT_DOCKER_InspectHungDuringPull) should be deleted but never is. Its address is @000001DC1032FF98.
ERROR: 5 leaked mock objects found at program exit.
```

- [mesos-tests-stderr.log](http://dcos-win.westus.cloudapp.azure.com/mesos-build/review/67822/logs/mesos-tests-stderr.log):

```
I0703 23:57:27.244422  9236 authenticatee.cpp:299] Authentication success
I0703 23:57:27.244422  8176 master.cpp:9802] Successfully authenticated principal 'test-principal' at scheduler-4041de1d-6166-4bbb-b556-c212ca226ffb@192.10.1.5:54281
I0703 23:57:27.245590  3596 sched.cpp:501] Successfully authenticated with master master@192.10.1.5:54281
I0703 23:57:27.246424  8904 master.cpp:2927] Received SUBSCRIBE call for framework 'default' at scheduler-4041de1d-6166-4bbb-b556-c212ca226ffb@192.10.1.5:54281
I0703 23:57:27.246424  8904 master.cpp:2234] Authorizing framework principal 'test-principal' to receive offers for roles '{ * }'
I0703 23:57:27.247543  5592 master.cpp:3008] Subscribing framework default with checkpointing disabled and capabilities [ MULTI_ROLE, RESERVATION_REFINEMENT ]
I0703 23:57:27.247543  5592 master.cpp:9993] Adding framework 47858352-1ace-49d6-acc8-1f058e7e7d50-0000 (default) at scheduler-4041de1d-6166-4bbb-b556-c212ca226ffb@192.10.1.5:54281 with roles {  } suppressed
I0703 23:57:27.249433  6716 sched.cpp:749] Framework registered with 47858352-1ace-49d6-acc8-1f058e7e7d50-0000
I0703 23:57:27.249433  9236 hierarchical.cpp:299] Added framework 47858352-1ace-49d6-acc8-1f058e7e7d50-0000
E0703 23:57:27.339431  9236 slave.cpp:7289] EXIT with status 1: Failed to perform recovery: Collect failed: Failed to run 'C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\test-docker.bat -H npipe:////./pipe/docker_engine ps -a': exited with status 1; stderr=''C:\Program' is not recognized as an internal or external command,

operable program or batch file.

'
If recovery failed due to a change in configuration and you want to
keep the current agent id, you might want to change the
`--reconfiguration_policy` flag to a more permissive value.

To restart this agent with a new agent id instead, do as follows:
rm -f C:\Users\jenkins\AppData\Local\Temp\VrabYs\meta\slaves\latest
This ensures that the agent does not recover old live executors.

If you use the Docker containerizer and think that the Docker
daemon state is broken, you can try to clear it. But be careful:
these commands will erase all containers and images from this host,
not just those started by Mesos!
docker kill $(docker ps -q)
docker rm $(docker ps -a -q)
docker rmi $(docker images -q)

Finally, restart the agent.
```

- Mesos Reviewbot Windows


On July 3, 2018, 11:05 p.m., Zhitao Li wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/67822/
> -----------------------------------------------------------
> 
> (Updated July 3, 2018, 11:05 p.m.)
> 
> 
> Review request for mesos, Chun-Hung Hsiao, Jason Lai, and Jie Yu.
> 
> 
> Bugs: MESOS-9049
>     https://issues.apache.org/jira/browse/MESOS-9049
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> We could potentially schedule the framework dir, executor dir, and
> executor run sandbox to gc at the same time, and then these
> paths will be gc independently, although they are parents and
> children directories. This patch makes sure we do not call unmount
> anymore after a success.
> 
> 
> Diffs
> -----
> 
>   src/slave/gc.cpp 407f6b23f87cf2e2bdaf873c8adcda57f5d559b3 
> 
> 
> Diff: https://reviews.apache.org/r/67822/diff/2/
> 
> 
> Testing
> -------
> 
> ```make```
> 
> 
> Thanks,
> 
> Zhitao Li
> 
>


Re: Review Request 67822: Avoid duplicate unmount dangling mount point.

Posted by Zhitao Li <zh...@gmail.com>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/67822/
-----------------------------------------------------------

(Updated July 3, 2018, 4:05 p.m.)


Review request for mesos, Chun-Hung Hsiao, Jason Lai, and Jie Yu.


Changes
-------

Minor style fix


Bugs: MESOS-9049
    https://issues.apache.org/jira/browse/MESOS-9049


Repository: mesos


Description
-------

We could potentially schedule the framework dir, executor dir, and
executor run sandbox to gc at the same time, and then these
paths will be gc independently, although they are parents and
children directories. This patch makes sure we do not call unmount
anymore after a success.


Diffs (updated)
-----

  src/slave/gc.cpp 407f6b23f87cf2e2bdaf873c8adcda57f5d559b3 


Diff: https://reviews.apache.org/r/67822/diff/2/

Changes: https://reviews.apache.org/r/67822/diff/1-2/


Testing
-------

```make```


Thanks,

Zhitao Li


Re: Review Request 67822: Avoid duplicate unmount dangling mount point.

Posted by Chun-Hung Hsiao <ch...@apache.org>.
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/67822/#review205696
-----------------------------------------------------------


Fix it, then Ship it!




Could you change the ticket to MESOS-9049?


src/slave/gc.cpp
Line 256 (original), 256 (patched)
<https://reviews.apache.org/r/67822/#comment288590>

    Do you think the following will improve the readability?
    ```
    if (unmount.isError()) {
      ...
      
      // Find the next garbage collected path containing this mount point.
      continue;
    } else {
      break;
    }
    ```
    Please feel free to drop this if you think this is not necessary.


- Chun-Hung Hsiao


On July 3, 2018, 10:08 p.m., Zhitao Li wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/67822/
> -----------------------------------------------------------
> 
> (Updated July 3, 2018, 10:08 p.m.)
> 
> 
> Review request for mesos, Chun-Hung Hsiao, Jason Lai, and Jie Yu.
> 
> 
> Bugs: MESOS-9049
>     https://issues.apache.org/jira/browse/MESOS-9049
> 
> 
> Repository: mesos
> 
> 
> Description
> -------
> 
> We could potentially schedule the framework dir, executor dir, and
> executor run sandbox to gc at the same time, and then these
> paths will be gc independently, although they are parents and
> children directories. This patch makes sure we do not call unmount
> anymore after a success.
> 
> 
> Diffs
> -----
> 
>   src/slave/gc.cpp 407f6b23f87cf2e2bdaf873c8adcda57f5d559b3 
> 
> 
> Diff: https://reviews.apache.org/r/67822/diff/1/
> 
> 
> Testing
> -------
> 
> ```make```
> 
> 
> Thanks,
> 
> Zhitao Li
> 
>