RetryRunner's checkRing/buildRingInfo optimization assumes that a named ThriftCluster can be obtained via HFactory.getCluster. ThriftCluster is not exclusively created & cached by HFactory. E.g. Some users instantiate directly via Spring.
This is related to issue #423. In this scenario, a NullPointerException causes the RetryRunner executor to stop, so no more reconnect attempts are made.
Pull request on the way after testing...
RetryRunner Dies If ThriftCluster Was Not Created Via HFactory. Fixes…
… issues #423 and #424.