Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
2.5.0
Description
When a KMSClientProvider is initialized in ssl mode, It initializes a SSLFactory object. This in-turn creates an instance of ReloadingX509TrustManager which, on initialization, starts a trust store reloader thread.
It is noticed that over time, as a number of short lived KMSClientProvider instances are created and destroyed, the trust store manager threads are not interrupted/killed and remain in TIMED_WAITING state. A Thread dump shows multiple:
"Truststore reloader thread" daemon prio=10 tid=0x00007fb1cf942800 nid=0x4e99 waiting on condition [0x00007fb0485f5000] java.lang.Thread.State: TIMED_WAITING (sleeping) at java.lang.Thread.sleep(Native Method) at org.apache.hadoop.security.ssl.ReloadingX509TrustManager.run(ReloadingX509TrustManager.java:189) at java.lang.Thread.run(Thread.java:662) Locked ownable synchronizers: - None