Flink имеет отдельные водяные знаки для каждой задачи (т. Е. Для каждого параллельного экземпляра) - в противном случае потребовалась бы какая-то ужасно дорогая глобальная координация - но не для каждого ключа. В случае окна с ключами каждый экземпляр оконного оператора будет обрабатывать события для некоторого непересекающегося подмножества пространства ключей, и все windows для этих ключей будут использовать один и тот же водяной знак.
Имейте в виду, что пустые windows не дают результатов. Таким образом, если есть какая-то клавиша, для которой нет никаких событий во время окна, это окно не будет давать результаты для этой клавиши.
Или может быть, что у вас неактивный источник, удерживающий водяные знаки. Если одна из ваших исходных задач станет бездействующей, то ее водяной знак не будет продвигаться. Вы можете проверить текущий водяной знак в веб-интерфейсе и проверить, продвигается ли он в каждой задаче.