commit | 57088b11a328355b7f2a53a1b3fba9928a2fde73 | [log] [tgz] |
---|---|---|
author | Charles-Francois Natali <cf.natali@gmail.com> | Sun May 01 19:10:44 2022 +0100 |
committer | cf-natali <cf.natali@gmail.com> | Sun May 01 21:02:29 2022 +0100 |
tree | cd6ae5fac39d360e08518d9c1e18604b4a652d4e | |
parent | f7933308dbc1cbd2b983f4debaa2ae1368fc8f06 [diff] |
Fixed random SlaveRecoveryTest.PingTimeoutDuringRecovery test failure. This test would randomly fail with: ``` 18:16:59 3: F0501 17:16:59.192818 19175 slave.cpp:1445] Check failed: state == DISCONNECTED || state == RUNNING || state == TERMINATING RECOVERING ``` The cause was that the test re-starts the slave with the same PID, which means that timers started by the previous slave process could fire while the new slave process was running. In this specific case, what happened is that the previous slave's ping timer would fire in the middle of recovery of the second slave instance, yielding this assertion. Fixed by making sure to use `Clock::advance` and `Clock::settle` after terminating the first instance to ensure that there are no pending timers. Tested by running the test in a loop, while running a CPU-intensive workload - `stress-ng --cpu $(nproc)0` in parallel.
Apache Mesos is a cluster manager that provides efficient resource isolation and sharing across distributed applications, or frameworks. It can run Hadoop, Jenkins, Spark, Aurora, and other frameworks on a dynamically shared pool of nodes.
Visit us at mesos.apache.org.
Documentation is available in the docs/ directory. Additionally, a rendered HTML version can be found on the Mesos website's Documentation page.
Instructions are included on the Getting Started page.
Apache Mesos is licensed under the Apache License, Version 2.0.
For additional information, see the LICENSE and NOTICE files.