While diagnosing a rare failure in IntegrationTestLoadAndVerify, I discovered this scenario. Master was restarted by CM. Upon rejoining the cluster it successfully assumes responsibility as active master, but apparently the finishInitialization method never completes. The last log line from that thread is
I see region states populated from existing znodes. AM inventoried the online regions, acknowledged that this was master failover. There it sits, responding to RPC's with PleaseHoldException: Master is initializing.
For the sake of resiliency, we should detect this scenario and at least release control as active master.