I might have to resort to this.  I am reading from queue in a timed manor and 
properly returning false when read timeout.  I have implemented a set of 
statistic to enumerate advance() behavior, number of times it successfully 
reads a message, fails to read a message etc.

On 2019/09/19 19:45:49, Jan Lukavský <[email protected]> wrote: 
> You can ssh to the dataflow worker and investigate jstack of the 
> harness. The principal source of blocking would be if you wait for any 
> data. The logic should be implemented so that if there is no data 
> available at the moment then just return false and don't wait for 
> anything. Another suggestion would be, focus on how your reader behaves 
> when it receives no queue. I think a proper behavior would be to return 
> false from each call to advance() and set watermark to 
> BoundedWindow.TIMESTAMP_MAX_VALUE to indicate that there will be no more 
> data anymore.
> 
> Jan
> 

Reply via email to