diff --git a/test/vector_search/vector_store_client_test.cc b/test/vector_search/vector_store_client_test.cc index 83e21f43fe..876d9bde9d 100644 --- a/test/vector_search/vector_store_client_test.cc +++ b/test/vector_search/vector_store_client_test.cc @@ -176,7 +176,7 @@ SEASTAR_TEST_CASE(vector_store_client_test_dns_resolving_repeated) { vs.start_background_tasks(); // Wait for the DNS resolution to fail - BOOST_CHECK(co_await repeat_until(seconds(1), [&vs, &as]() -> future { + BOOST_CHECK(co_await repeat_until([&vs, &as]() -> future { auto addrs = co_await vector_store_client_tester::resolve_hostname(vs, as.reset()); co_return addrs.empty(); })); @@ -184,7 +184,7 @@ SEASTAR_TEST_CASE(vector_store_client_test_dns_resolving_repeated) { fail_dns_resolution = false; // Wait for the DNS resolution to succeed - BOOST_CHECK(co_await repeat_until(seconds(1), [&vs, &as]() -> future { + BOOST_CHECK(co_await repeat_until([&vs, &as]() -> future { auto addrs = co_await vector_store_client_tester::resolve_hostname(vs, as.reset()); co_return addrs.size() == 1; })); @@ -193,12 +193,11 @@ SEASTAR_TEST_CASE(vector_store_client_test_dns_resolving_repeated) { BOOST_CHECK_EQUAL(print_addr(addrs1[0]), "127.0.0.1"); fail_dns_resolution = true; - // Trigger DNS resolver to check for address changes - // Resolver will not re-check automatically after successful resolution - vector_store_client_tester::trigger_dns_resolver(vs); - // Wait for the DNS resolution to fail again - BOOST_CHECK(co_await repeat_until(seconds(1), [&vs, &as]() -> future { + // Wait for the DNS resolution to fail again. + // Trigger is called inside the loop to mitigate SCYLLADB-1794. + BOOST_CHECK(co_await repeat_until([&vs, &as]() -> future { + vector_store_client_tester::trigger_dns_resolver(vs); auto addrs = co_await vector_store_client_tester::resolve_hostname(vs, as.reset()); co_return addrs.empty(); })); @@ -208,7 +207,7 @@ SEASTAR_TEST_CASE(vector_store_client_test_dns_resolving_repeated) { fail_dns_resolution = false; // Wait for the DNS resolution to succeed - BOOST_CHECK(co_await repeat_until(seconds(1), [&vs, &as]() -> future { + BOOST_CHECK(co_await repeat_until([&vs, &as]() -> future { auto addrs = co_await vector_store_client_tester::resolve_hostname(vs, as.reset()); co_return addrs.size() == 1; }));