When we did some performance profiling on our application we found some impact from calling the synchronized method Cluster.Manager.init(), not a huge impact but I think it could easily be avoided.
The first thing that is done inside the init() method is checking if it has already been initialized and just returns if that is the case. If this check was done before calling init() we avoid calling a synchronized method when we don't need to. I have prepared a patch for this.
See discussion on the PR.