Thanks, Jian for working on this, and Thanks, Karithik for the review.
The patch looks good overall. I do not have any other comments other than Karithik's previous comment.
But I have one general concern for this:
1. Can we move ResourceManager#createAndStartCurator() from ResourceManager into LeaderElectorService ? Otherwise, it looks like we only support ZK as leaderElector Service. Currently, it is true. But I still think that we can add one more level abstraction for the LeaderElector Service, and let current LeaderElectorService extends/inherent from it ? Basically, move all the curator related code from ResourceManager.java to LeaderElectorService.java.