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 >
