>From what I understand from the code, production happens in * ring buffer first, overflow later * order. Consumption is done in the same order so it is possible that buffer has capacity even if overflow buffer is filled. This will last only for short duration as a background thread will write from overflow buffer to ring buffer.
If you think about it, that is exactly how the order should be. Otherwise events will be processed out of order. Hope that clarifies. On Tue, Jul 19, 2016 at 8:16 PM, Muhammad Bilal <[email protected]> wrote: > Hi, > > I am collecting some logs from my Storm topology using > LoggingMetricConsumer. However, I am seeing an interesting behaviour. The > send queue stats from one of the bolts is as follows: > > "__sendqueue {sojourn_time_ms=0.4088741 648526843, > write_pos=6333002, read_pos=6332949, arrival_rate_secs=129624.23296931878, > overflow=39, capacity=8192, population=53}" > > My question is: why is there non-zero overflow when the population is just > 53? > > I am using Storm 1.0.1. > > Thanks. > > -Bilal > -- Regards, Abhishek Agarwal
