When the client encounters a timeout, it shouldn't retry, or at least this behavior should be optional. With long requests (bulk in particular) this behavior can lead to overloading of the cluster.