Method: Fluent::Plugin::Buffer#clear_queue!

Defined in:
lib/fluent/plugin/buffer.rb

#clear_queue!Object



619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
# File 'lib/fluent/plugin/buffer.rb', line 619

def clear_queue!
  log.on_trace { log.trace "clearing queue", instance: self.object_id }

  synchronize do
    until @queue.empty?
      begin
        q = @queue.shift
        log.trace("purging a chunk in queue"){ {id: dump_unique_id_hex(chunk.unique_id), bytesize: chunk.bytesize, size: chunk.size} }
        q.purge
      rescue => e
        log.error "unexpected error while clearing buffer queue", error_class: e.class, error: e
        log.error_backtrace
      end
    end
    @queue_size_metrics.set(0)
  end
end