|
@@ -303,6 +303,32 @@ public class TestKMS {
|
|
|
url.getProtocol().equals("https"));
|
|
|
final URI uri = createKMSUri(getKMSUrl());
|
|
|
|
|
|
+ if (ssl) {
|
|
|
+ KeyProvider testKp = new KMSClientProvider(uri, conf);
|
|
|
+ ThreadGroup threadGroup = Thread.currentThread().getThreadGroup();
|
|
|
+ while (threadGroup.getParent() != null) {
|
|
|
+ threadGroup = threadGroup.getParent();
|
|
|
+ }
|
|
|
+ Thread[] threads = new Thread[threadGroup.activeCount()];
|
|
|
+ threadGroup.enumerate(threads);
|
|
|
+ Thread reloaderThread = null;
|
|
|
+ for (Thread thread : threads) {
|
|
|
+ if ((thread.getName() != null)
|
|
|
+ && (thread.getName().contains("Truststore reloader thread"))) {
|
|
|
+ reloaderThread = thread;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ Assert.assertTrue("Reloader is not alive", reloaderThread.isAlive());
|
|
|
+ testKp.close();
|
|
|
+ boolean reloaderStillAlive = true;
|
|
|
+ for (int i = 0; i < 10; i++) {
|
|
|
+ reloaderStillAlive = reloaderThread.isAlive();
|
|
|
+ if (!reloaderStillAlive) break;
|
|
|
+ Thread.sleep(1000);
|
|
|
+ }
|
|
|
+ Assert.assertFalse("Reloader is still alive", reloaderStillAlive);
|
|
|
+ }
|
|
|
+
|
|
|
if (kerberos) {
|
|
|
for (String user : new String[]{"client", "client/host"}) {
|
|
|
doAs(user, new PrivilegedExceptionAction<Void>() {
|