Поведение обновления контрольной точки AWS KCL на FARGATE

У меня есть KCL (2.0/Java), развернутый на FARGATE, который читает несколько осколков. К сожалению, сейчас у меня две проблемы, и я надеюсь, что кто-нибудь может мне помочь:

  1. FARGATE не позволяет корректно завершать работу JVM.
  2. Начиная с 1. значение контрольной точки в LeaseTable на DynamoDB не обновляется. Новый экземпляр приложения KCL повторно обработает все события в данном сегменте.

Что касается 1, я уже обнаружил, что есть некоторые проблемы с ведением журнала после SIGTERM с FARGATE, но, поскольку контрольные точки сегментов не обновляются, я предполагаю, что существует общая проблема, избегающая запуска подпрограмм завершения работы.

Если для 2 кто-нибудь знает, есть ли возможность «вручную» обновлять, например, каждые 5 минут, значение контрольной точки, это, по крайней мере, уменьшит количество повторно обрабатываемых событий.

ОБОБЩЕНИЕ: Когда (за исключением завершения работы) KCL обновляет таблицу аренды?

спасибо, гэпвижн


person gapvision    schedule 24.02.2019    source источник


Ответы (1)


Так что получается, что

1) на самом деле является «проблемой» докера и указывает на режим ENTRYPOINT: SIGTERM не получен процессом java с использованием "docker stop" и официального образа java

2) выполняется вручную, внутреннего запуска обновления контрольной точки нет. Нужно явно вызвать метод checkpoint(), чтобы обновить указатель

person gapvision    schedule 25.02.2019