update_urls

in lib/logstash/outputs/amazon_es/http_client/pool.rb [314:353]


    def update_urls(new_urls)
      return if new_urls.nil?
      
      
      new_urls = new_urls.map(&method(:normalize_url))

      
      state_changes = {:removed => [], :added => []}
      @state_mutex.synchronize do
        
        new_urls.each do |url|
          
          unless @url_info.keys.include?(url)
            state_changes[:added] << url
            add_url(url)
          end
        end

        
        @url_info.each do |url,_|
          unless new_urls.include?(url)
            state_changes[:removed] << url
            remove_url(url)
          end
        end
      end

      if state_changes[:removed].size > 0 || state_changes[:added].size > 0
        if logger.info?
          logger.info("Elasticsearch pool URLs updated", :changes => state_changes)
        end
      end
      
      
      
      
      
      healthcheck! 
    end