Akka 集群分片:恢复日志损坏

Akka cluster sharding: recovering on journal corruption

这个问题可能有点模糊,但我不确定如何使它更准确。

在使用集群分片扩展时,您必须提供某种持久性日志,以便插件可以存储其元数据(ShardRegionAllocated 等)。

当实例化新角色/跨节点移动以从其冻结状态恢复时,将使用这些元数据。

假设您的日志由于任何原因损坏(丢失一个条目,重复一个条目,等等)。这会导致 actor 启动时出现非常糟糕的异常(持久性恢复失败),如果处理不当,可能会终止整个区域。

管理这种情况的最佳方法是什么? (我在堆栈的任何级别征求意见,从主管的政策到直接对期刊进行的某种干预)。 谢谢,

D.

与 Akka 用户组核实:将来可能会有更好的选择(仍在研究中),但现在停止集群、删除元数据并重新启动它应该是安全的。

不幸的是,似乎没有办法在不停机的情况下执行此操作。