Replication unnecessarily routing requests over other nodes + timeouts

Hey guys,

I have currently two nodes (let's assume they are in different data
centers) on a cluster set up for replication (there are five shards but
each of the nodes contains all the shards). I set the following settings on
both nodes:

action.write_consistency: one
action.replication_type: async

I want the second node to serve mainly as a backup and it shouldn't affect
the first node if it goes down. I tried simple GET requests on the first
node for documents stored in the index and found out that every second GET
request takes longer because it is transmitted over the network even though
both of the nodes contain all the data. Why? How can I change that behavior
so that the data is always fetched from the node that is being queried
(unless the data is sharded and not stored on that node, of course)?

Moreover, when I interrupt the connection between the two nodes and make
GET requests to the first (master) node, every second GET request will take
over a minute (I measured 1m25s even though says the default
timeout is 1 minute and even if I add ?timeout=1s to the GET params) until
Elasticsearch realizes that the other node is down. How can I lower this
timeout to 5 seconds or less?


You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
For more options, visit