diff --git a/x-pack/plugin/security/src/test/java/org/elasticsearch/xpack/security/authc/ldap/LdapSessionFactoryTests.java b/x-pack/plugin/security/src/test/java/org/elasticsearch/xpack/security/authc/ldap/LdapSessionFactoryTests.java index 17a8e5a84744d..2ccaf567d6095 100644 --- a/x-pack/plugin/security/src/test/java/org/elasticsearch/xpack/security/authc/ldap/LdapSessionFactoryTests.java +++ b/x-pack/plugin/security/src/test/java/org/elasticsearch/xpack/security/authc/ldap/LdapSessionFactoryTests.java @@ -41,6 +41,7 @@ import java.security.GeneralSecurityException; import java.util.List; import java.util.concurrent.ExecutionException; +import java.util.concurrent.TimeUnit; import javax.net.ssl.SSLException; @@ -351,10 +352,12 @@ public void testSslTrustIsReloaded() throws Exception { Files.copy(realCa, ldapCaPath, StandardCopyOption.REPLACE_EXISTING); resourceWatcher.notifyNow(ResourceWatcherService.Frequency.HIGH); - final LdapSession session = session(sessionFactory, user, userPass); - assertThat(session.userDn(), is("cn=Horatio Hornblower,ou=people,o=sevenSeas")); - - session.close(); + // Occasionally the reload doesn't take immediate effect so the next connection fails. + assertBusy(() -> { + final LdapSession session = session(sessionFactory, user, userPass); + assertThat(session.userDn(), is("cn=Horatio Hornblower,ou=people,o=sevenSeas")); + session.close(); + }, 3, TimeUnit.SECONDS); } } }