Должен ли я перехватить исключение, созданное MapState.remove() в пользовательском коде Apache Flink?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Должен ли я перехватить исключение, созданное MapState.remove() в пользовательском коде Apache Flink?

Сообщение Anonymous »

Я использую org.apache.flink.api.common.state.MapState в Flink KeyedProcessFunction для управления состоянием с ключом.
Согласно 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»