lib/elasticsearch/client/retrying_client.rb
def next_server
      if @retry_period
        rebuild_live_server_list! if Time.now > @last_rebuild + @retry_period
        raise NoServersAvailable, "No live servers in #{@servers.inspect} since #{@last_rebuild.inspect}." if @live_server_list.empty?
      elsif @live_server_list.empty?
        rebuild_live_server_list!
      end
      @live_server_list.shift
    end
def next_server
      if @retry_period
        rebuild_live_server_list! if Time.now > @last_rebuild + @retry_period
        raise NoServersAvailable, "No live servers in #{@servers.inspect} since #{@last_rebuild.inspect}." if @live_server_list.empty?
      elsif @live_server_list.empty?
        rebuild_live_server_list!
      end
      @live_server_list.shift
    end
def next_server if @retry_period rebuild_live_server_list! if Time . now > @last_rebuild + @retry_period raise NoServersAvailable , "No live servers in #{@servers.inspect} since #{@last_rebuild.inspect}." if @live_server_list . empty? elsif @live_server_list . empty? rebuild_live_server_list! end @live_server_list . shift end
TODO this can spin indefinitely if timeout > retry_period
TODO this can spin indefinitely if timeout > retry_period