[
https://issues.apache.org/jira/browse/HADOOP-11161?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14158330#comment-14158330
]
Larry McCay commented on HADOOP-11161:
--------------------------------------
I am little concerned that we are introducing a lifecycle method close()
without a real lifecycle definition for KeyProviders.
It seems the latest update to the patch is speaking to my concern.
Once you close a KeyProvider - is it capable of being used or do you need to
get a new one?
Do we need an initialize()?
Do all consumers of all KeyProviders - not just the crypto extension - need to
call close when done?
The algorithm of traversing a configured provider.path would need to
incorporate any lifecycle methods.
If we need to manage internal state of the providers than we need a full
lifecycle story - I think.
Thoughts?
> Expose close method in KeyProvider to give clients of Provider
> implementations a hook to release resources
> ----------------------------------------------------------------------------------------------------------
>
> Key: HADOOP-11161
> URL: https://issues.apache.org/jira/browse/HADOOP-11161
> Project: Hadoop Common
> Issue Type: Bug
> Reporter: Arun Suresh
> Assignee: Arun Suresh
> Attachments: HADOOP-11161.1.patch, HADOOP-11161.2.patch,
> HADOOP-11161.3.patch
>
>
> The {{KMSClientProvider}} class needs to be have a {{close()}} method to
> shutdown back ground executor threads.
> The {{DFSClient}} creates an instance of a {{KeyProvider}} during
> initialization. If this KP is a {{KMSClientProvider}}, this needs to be
> closed to prevent thread leakage
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)