Arun Suresh created HADOOP-11368: ------------------------------------ Summary: Fix OutOfMemory caused due to leaked trustStore reloader thread in KMSClientProvider Key: HADOOP-11368 URL: https://issues.apache.org/jira/browse/HADOOP-11368 Project: Hadoop Common Issue Type: Bug Components: kms Affects Versions: 2.5.0 Reporter: Arun Suresh Assignee: Arun Suresh
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: {noformat} "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 {noformat} -- This message was sent by Atlassian JIRA (v6.3.4#6332)