关于亚马逊网络服务:FARGATE上的AWS KCL检查点更新行为

AWS KCL checkpoint update behavior on FARGATE

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

  • FARGATE不允许正常关闭JVM。
  • 从1.开始,不会更新DynamoDB上LeaseTable中的检查点值。 KCL应用程序的新实例将重新处理给定分片中的所有事件。
  • 关于1,我已经发现在SIGTERM之后使用FARGATE存在一些日志记录问题,但是由于分片检查点未更新,因此我认为存在避免运行关闭例程的一般问题。

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

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

    Thx,gapvision


    所以事实证明

    1)实际上是一个docker " issue "并指向ENTRYPOINT模式:Java进程未使用\\'docker stop \\'和官方Java映像接收到SIGTERM。

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