We are using ES version : 5.6.4 and have configured :
We had some issues with a node in the cluster so we had to exclude it ( using https://www.elastic.co/guide/en/elasticsearch/reference/current/allocation-filtering.html ). Shards were reallocating but the issues were getting worse so we decided to shut down the node and let cluster survive in yellow status and recover from other shards. But when the node was done we had multiple shards that were unassigned and wasn't recovering. Using https://www.elastic.co/guide/en/elasticsearch/reference/current/cluster-allocation-explain.html we discovered that shards were not recovering since cluster was waiting for node that was down.
"allocate_explanation": "cannot allocate because the cluster is still waiting 35.2s for the departed node holding a replica to rejoin, despite being allowed to allocate the shard to at least one other node"
So, my question is why cluster hasn't recovered shards that couldn't have been assigned to that specific node even if it started again (it was excluded) ?
Thanks in advance