ClusterBlockException when master servers(s) return

Hi all, I've looked around for a solution this, tried lots of different settings but I can't seem to fix this.

If all masters are down when a non-master node comes up and fails discovery, I see this message:
waited for 30s and no initial state was set by the discovery

When the masters come up, the initial requests all throw a org.elasticsearch.cluster.block.ClusterBlockException: blocked by: [SERVICE_UNAVAILABLE/1/state not recovered / initialized];

Eventually it recovers. Is there a way to speed this up?

Also, can I catch the ClusterBlockException and then force the unicast discovery to happen, then retry? What Java API call I can make to try and do unicast discovery again?

You can't.

The only option I can think of would be to reduce some of these - Zen Discovery | Elasticsearch Guide [2.2] | Elastic