[ 
https://issues.apache.org/jira/browse/HADOOP-14563?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16084271#comment-16084271
 ] 

Xiao Chen commented on HADOOP-14563:
------------------------------------

Yep, agreed the behavior before this is worse. :)

I think a successful {{warmUp}} should warm up all providers. We can work on 
HDFS-12124 first, and visit this (or a follow-on) after.

> LoadBalancingKMSClientProvider#warmUpEncryptedKeys swallows IOException
> -----------------------------------------------------------------------
>
>                 Key: HADOOP-14563
>                 URL: https://issues.apache.org/jira/browse/HADOOP-14563
>             Project: Hadoop Common
>          Issue Type: Bug
>    Affects Versions: 2.8.1
>            Reporter: Rushabh S Shah
>            Assignee: Rushabh S Shah
>             Fix For: 2.9.0, 3.0.0-beta1, 2.8.2
>
>         Attachments: HADOOP-14563-1.patch, HADOOP-14563-2.patch, 
> HADOOP-14563.patch
>
>
> TestAclsEndToEnd is failing consistently in HADOOP-14521.
> The reason behind it is LoadBalancingKMSClientProvider#warmUpEncryptedKeys 
> swallows IOException while KMSClientProvider#warmUpEncryptedKeys throws all 
> the way back to createEncryptionZone and creation of EZ fails.
> Following are the relevant piece of code snippets.
>  {code:title=KMSClientProvider.java|borderStyle=solid}
>   @Override
>   public void warmUpEncryptedKeys(String... keyNames)
>       throws IOException {
>     try {
>       encKeyVersionQueue.initializeQueuesForKeys(keyNames);
>     } catch (ExecutionException e) {
>       throw new IOException(e);
>     }
>   }
> {code}
>  {code:title=LoadBalancingKMSClientProvider.java|borderStyle=solid}
>    // This request is sent to all providers in the load-balancing group
>   @Override
>   public void warmUpEncryptedKeys(String... keyNames) throws IOException {
>     for (KMSClientProvider provider : providers) {
>       try {
>         provider.warmUpEncryptedKeys(keyNames);
>       } catch (IOException ioe) {
>         LOG.error(
>             "Error warming up keys for provider with url"
>             + "[" + provider.getKMSUrl() + "]", ioe);
>       }
>     }
>   }
> {code}
> In HADOOP-14521, I intend to always instantiate 
> LoadBalancingKMSClientProvider even if there is only one provider so that the 
> retries can applied at only one place.
> We need to decide whether we want to fail in both the case or continue.



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

---------------------------------------------------------------------
To unsubscribe, e-mail: common-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: common-issues-h...@hadoop.apache.org

Reply via email to