Hi!

I also think it's a GC problem. In the KeySelector I don't instantiate any 
object. It's a simple toString method call. 
In the mapWindow I create new objects. But I'm doing the same in other map 
operators, too. They don't slow down the execution. Only with this construct 
the execution is slowed down. 

I watched on the memory footprint of my program. Once with the code construct I 
wrote and once without. The memory characteristic were the same. The CPU usage 
also ... 

I don't have an explanation. But I don't think it comes from my operator 
functions ...

Cheers Rico. 



> Am 07.09.2015 um 22:43 schrieb Martin Neumann <mneum...@sics.se>:
> 
> Hej,
> 
> This sounds like it could be a garbage collection problem. Do you instantiate 
> any classes inside any of the operators (e.g. in the KeySelector). You can 
> also try to run it locally and use something like jstat to rule this out.
> 
> cheers Martin
> 
>> On Mon, Sep 7, 2015 at 12:00 PM, Rico Bergmann <i...@ricobergmann.de> wrote:
>> Hi!
>> 
>> While working with grouping and windowing I encountered a strange behavior. 
>> I'm doing:
>>> dataStream.groupBy(KeySelector).window(Time.of(x, 
>>> TimeUnit.SECONDS)).mapWindow(toString).flatten()
>> 
>> When I run the program containing this snippet it initially outputs data at 
>> a rate around 150 events per sec. (That is roughly the input rate for the 
>> program). After about 10-30 minutes the rate drops down below 5 events per 
>> sec. This leads to event delivery offsets getting bigger and bigger ... 
>> 
>> Any explanation for this? I know you are reworking the streaming API. But it 
>> would be useful to know, why this happens ...
>> 
>> Cheers. Rico. 
> 

Reply via email to