asekretenko commented on a change in pull request #380: URL: https://github.com/apache/mesos/pull/380#discussion_r611048071
########## File path: src/tests/slave_recovery_tests.cpp ########## @@ -3301,6 +3301,130 @@ TYPED_TEST(SlaveRecoveryTest, GCExecutor) } +// When the slave is down we remove the latest run directory +// but not the "latest" symlink, to simulate a situation where the +// slave died in the middle of gc'ing the run meta directory. +TYPED_TEST(SlaveRecoveryTest, ExecutorDanglingLatestSymlink) +{ + Try<Owned<cluster::Master>> master = this->StartMaster(); + ASSERT_SOME(master); + + slave::Flags flags = this->CreateSlaveFlags(); + flags.strict = true; + + Fetcher fetcher(flags); + + Try<TypeParam*> _containerizer = TypeParam::create(flags, true, &fetcher); + ASSERT_SOME(_containerizer); + Owned<slave::Containerizer> containerizer(_containerizer.get()); + + Owned<MasterDetector> detector = master.get()->createDetector(); + + Try<Owned<cluster::Slave>> slave = + this->StartSlave(detector.get(), containerizer.get(), flags); + ASSERT_SOME(slave); + + // Enable checkpointing for the framework. + FrameworkInfo frameworkInfo = DEFAULT_FRAMEWORK_INFO; + frameworkInfo.set_checkpoint(true); + + MockScheduler sched; + MesosSchedulerDriver driver( + &sched, frameworkInfo, master.get()->pid, DEFAULT_CREDENTIAL); + + EXPECT_CALL(sched, registered(_, _, _)); + + Future<vector<Offer>> offers1; + EXPECT_CALL(sched, resourceOffers(_, _)) + .WillOnce(FutureArg<1>(&offers1)); Review comment: ``` .WillRepeatedly(Return()) ``` is now also necessary. Otherwise, the test will crach if the scheduler receives the offer upon agent re-registartion before the test ends. I don't know if you have seen this failure; on my system this happens once in ~30 runs, found by running ```src/mesos-tests --gtest_filter="*ExecutorDanglingLatestSymlink*" --gtest_repeat=1000 --gtest_break_on_failure```. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org