Rushabh S Shah created HADOOP-14563:
---------------------------------------
Summary: 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
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: [email protected]
For additional commands, e-mail: [email protected]