I didn't see the whole code, but does it make sense to cache the clusterauthenticator instance? Is it instantiated frequently?