this one may throw an AlreadyClosedException and mask the throwable. I guess you want to check whether the maybeFailEngine closed the index - which is where this will go wrong. 

Since we're going to fail the shard anyway, why not just skip the maybeFailEngine + ensure open?