Мы планируем использовать оператор подавления над сеансным оконным KTable.
Нас интересует отказоустойчивость при использовании оператора подавления.
Мы понимаем, что буфер используется для хранения событий / агрегатов, пока окно не закроется.
Теперь допустим, что произошел перебаланс, и активная задача перенесена на другую машину. Нам интересно, что происходит с этим (в памяти?) Буфером.
Допустим, мы отслеживаем количество кликов по пользователям. И мы настроили период активности окна сеанса равным 3 минутам, и окно сеанса началось для ключевой алисы, и агрегации происходили для этого ключа в течение 2 минут. Например, в буфере у нас есть (alice -> 5) запись, представляющая, что Алиса уже сделала 5 кликов в этом сеансе.
И скажите, что после этого Алиса не предпринимает никаких действий.
Если все работает нормально, то после завершения сеанса нисходящий процессор получит событие алиса -> 5.
Но что, если сейчас произойдет перебалансировка и активная задача, поддерживающая окно сеанса для Алисы, будет перенесена на новую машину?
Поскольку от Алисы больше нет действий, будет ли нижестоящий процессор, работающий на новой машине, пропустить это событие Алиса -> 5?