我将 InterProcessSemaphoreMutex 用于分布式锁定配方。
锁的典型路径可能是
/锁/日历/uuid
其中 uuid 当然是 uuid,因此可能会生成许多锁定路径。
我认为这些路径最终需要清理,所以我在解锁锁后尝试使用 childreaper 和 reaper 来清理。
ChildReaper 之类的作品。如果我添加 /lock/calendar/uuid 它会愉快地删除孩子。日志显示它删除了租约和锁,并且节点本身显示在 zkClient 中消失了但是突然它开始在看似无休止的循环中抱怨路径消失了。尽管尝试了 Mode.Delete 和 Mode.Until Gone。
Reaper 什么都不做,可能是因为 /lock/calendar/uuid 有孩子。
我错过了什么吗?我不需要清理这些锁吗?我需要明智地担心并发性。