Details
-
Improvement
-
Status: Open
-
Major
-
Resolution: Unresolved
-
None
-
None
-
None
-
None
Description
Currently ZKSignerSecretProvider and ZKDelegationTokenSecretManager classes are using the same ZookeeperClient class to create their respective Zookeeper connection via a Curator client.
In order to have a standardized way of creating Zookeeper connections, we have two areas to fix:
- YARN and its Curator instantiation
- HDFS ZKFC, which currently uses a Zookeeper client directly, so it should also be migrated to Curator if we want to utilize the common instantiation.
The problem that we would solve is that currently we have 3 places where we create ZK connections, and all of them has its own things, along with some duplications.
We also have the HadoopZookeeperFactory, that I think we do not need. The only thing that is different for this is how we set up SASL permission provider for the connection. I believe that can also be unified, with that the whole Zookeeper connection creation can be pushed down to the recently added code that handles this for ZKDelegationTokenSecretManager and ZKSignerSecretProvider.