#apache-flink #state-management
#apache-flink #управление состоянием
Вопрос:
В этом документе говорится
Текущая реализация запрашиваемого состояния поддерживает точечный поиск значений по ключу. Клиент запроса запрашивает у мастера Flink (JobManager) местоположение экземпляра operator, содержащего раздел состояния для запрошенного ключа. Затем клиент отправляет запрос соответствующему TaskManager, который извлекает значение, которое в данный момент хранится для этого ключа, из серверной части состояния. С традиционной точки зрения уровня изоляции базы данных запросы обращаются к незафиксированному состоянию, таким образом, следуя уровню изоляции, не зависящему от чтения. В качестве будущей работы мы планируем добавить поддержку изоляции с фиксацией чтения, позволяя TaskManagers сохранять состояние зафиксированных снимков и использовать это состояние для ответа на запросы adhoc.
Был ли реализован следующий запрос состояния с уровнем изоляции, зафиксированным для чтения, в последней версии Flink.
Ответ №1:
Нет, это не изменилось. С запрашиваемым состоянием вы получаете доступ к любому состоянию, которое находится во время обработки запроса.
Это означает, что, например, последующее восстановление может эффективно откатить состояние до более раннего значения.
Комментарии:
1. Спасибо за ваш ответ. В настоящее время может ли Flink запрашивать состояние, зафиксированное для чтения, через серверную часть локального состояния?
2. За несколько минут до этого я прочитал блог . Запрос состояния точки сохранения и контрольной точки был поддержан после Flink 1.9, даже пользователи могут изменять состояние. Можно ли считать, что Flink реализовал запрос состояния, зафиксированного для чтения.
3. Это правда, вы можете получить доступ к эквиваленту состояния, зафиксированного для чтения, прочитав его с контрольной точки через API-интерфейс state processor. Насколько мне известно, никто не включил эту функциональность в простой в использовании сервис.
4. Спасибо, это будет небольшой вклад.