Github user revans2 commented on the issue:
https://github.com/apache/storm/pull/2365
@liu-zhaokun You are correct I had forgotten the ThriftClient establishes
the connection then initializes the _protocol member and then finally the
Client itself is created which will read from the protocol.
The solution is that we need a way to not call reconnect from the
constructor of ThriftClient. We have that in a few cases for testing/local mode
https://github.com/liu-zhaokun/storm/blob/d92f1a9c8d7442d4959fec57813fc5de42b179a9/storm-client/src/jvm/org/apache/storm/security/auth/ThriftClient.java#L73-L75
But I think we want another parameter to the constructor to say don't do
this, so we can try and connect ourselves and if it fails we can ignore it and
go on.
---