FARGATE上的AWS KCL检查点更新行为

时间:2019-02-24 12:50:30

标签: amazon-web-services aws-sdk amazon-ecs amazon-kinesis aws-fargate

我在FARGATE上部署了一个KCL(2.0 / Java),可以读取多个分片。不幸的是,我现在遇到两个问题,希望有人可以帮助我:

  1. FARGATE不允许正常关闭JVM。
  2. 由于1. DynamoDB上的LeaseTable中的检查点值未更新。 KCL应用程序的新实例将重新处理给定分片中的所有事件。

关于1,我已经发现在SIGTERM之后使用FARGATE存在一些日志记录问题,但是由于分片检查点未更新,因此我认为存在避免运行关闭例程的一般问题。

如果对于2,某人知道是否有可能“手动”更新检查点值(例如每5分钟更新一次),则至少会减少重复处理的事件数。

一般化:(关闭期间除外)KCL何时更新租约表?

Thx,gapvision

1 个答案:

答案 0 :(得分:0)

事实证明

1)实际上是docker的“问题”,并指向ENTRYPOINT模式:SIGTERM not received by java process using 'docker stop' and the official java image

2)是手动过程,没有内部触发检查点更新。一个人需要显式调用checkpoint()方法以更新指针