对于我们的Flink作业之一,我们发现了导致状态泄漏的状态。要解决此问题,我们需要向导致泄漏的状态添加一个TTL,但是,我们希望保留现有状态(保存点)。如果我们将TTL添加到值状态,是否可以使用现有的保存点?谢谢。
不,根据docs,这将不起作用:
尝试使用启用了TTL的描述符来还原以前没有配置TTL的状态,反之亦然,将导致兼容性失败和
StateMigrationException
。
但是,您可能可以使用state processor API完成此操作。
但是,确切的处理方式取决于状态是什么,状态如何被序列化以及操作员是否具有UID。