Согласно API, такие методы, как get(...), put(...) и Remove(...), объявляют выдачу исключений, например:
Код: Выделить всё
void remove(UK key) throws Exception
Я хочу понять рекомендуемую практику в Flink:
- Должен ли я перехватывать это исключение в моем пользовательском коде (например, вокруг mapState.remove(key))?
- Или предпочтительнее позволить исключению распространяться и позволить Flink обрабатывать сбой через контрольная точка/fail-and-restart?
- Если я это поймаю, каковы последствия для семантики отказоустойчивости Flink?
Код: Выделить всё
try {
mapState.remove(key);
} catch (Exception e) {
// should I do this?
LOG.error("Failed to remove from state", e);
}
Подробнее здесь: https://stackoverflow.com/questions/798 ... nk-user-co
Мобильная версия