Elasticsearch output - load balancing selection

Say I have three logstash servers loadbalanced behind and F5. All three servers are identical, and contain an elasticsearch output plugin with a host array of something like: hosts => ["host1","host2",host3"].

How is the output load balanced? Round Robin, least used, etc? What I'm trying to figure out is, if the three logstash servers would get in a rhythm of rotating through the same hosts at the same time, thus swamping one, while the others go unused.


The way I read the code (below) each Logstash instance will distribute the requests evenly between the hosts and for hosts with an equal number of posted requests it'll pick one of them at random. So I guess least used followed by round robin as a tie-breaker.