TEST_P(DtlCheckerTest, auto_recovery) { auto ns_ptr = make_random_namespace(); const backend::Namespace& ns = ns_ptr->ns(); SharedVolumePtr v = newVolume("vol1", ns); const auto port = get_next_foc_port(); ASSERT_THROW(v->setFailOverCacheConfig(FailOverCacheConfig(FailOverCacheTestSetup::host(), port, GetParam().foc_mode())), fungi::IOException); ASSERT_EQ(VolumeFailOverState::DEGRADED, v->getVolumeFailOverState()); auto foc_ctx(start_one_foc()); ASSERT_EQ(port, foc_ctx->port()); boost::this_thread::sleep_for(2 * dtl_check_interval_); ASSERT_EQ(VolumeFailOverState::OK_SYNC, v->getVolumeFailOverState()); }
vd::VolumeFailOverState api::getFailOverMode(const vd::VolumeId& volName) { SharedVolumePtr v = VolManager::get()->findVolume_(volName); return v->getVolumeFailOverState(); }