lib/fluent/buffer.rb in fluentd-0.10.6 vs lib/fluent/buffer.rb in fluentd-0.10.7

- old
+ new

@@ -112,12 +112,17 @@ class BasicBuffer < Buffer include MonitorMixin def initialize super + @parallel_pop = true end + def enable_parallel(b=true) + @parallel_pop = b + end + config_param :buffer_chunk_limit, :size, :default => 256*1024*1024 config_param :buffer_queue_limit, :integer, :default => 128 def configure(conf) super @@ -150,13 +155,14 @@ if top.size + data.bytesize <= @buffer_chunk_limit chain.next top << data return false - elsif data.bytesize > @buffer_chunk_limit - # TODO - raise BufferError, "received data too large" + ## FIXME + #elsif data.bytesize > @buffer_chunk_limit + # # TODO + # raise BufferError, "received data too large" elsif @queue.size >= @buffer_queue_limit # TODO raise BufferError, "queue size exceeds limit" end @@ -218,10 +224,10 @@ end def pop(out) chunk = nil @queue.synchronize do - if @parallel + if @parallel_pop chunk = @queue.find {|c| c.try_mon_enter } return false unless chunk else chunk = @queue.first return false unless chunk