Java 如何在GridGain';s缓存?

Java 如何在GridGain';s缓存?,java,caching,locking,distributed,gridgain,Java,Caching,Locking,Distributed,Gridgain,我有一个分布式应用程序,它使用GridGain进行缓存和分布式锁定。当我的应用程序启动时,它加入了服务器节点的网格。 当我的一个节点最终停止(例如,我的应用程序重新部署)时,我遇到了这个问题,在加入网格后,我的日志中有以下内容: [13:57:32,140][WARNING][main][GridDhtPreloader] <cacheLocks> Failed to wait for initial partition map exchange. Possible reas

我有一个分布式应用程序,它使用GridGain进行缓存和分布式锁定。当我的应用程序启动时,它加入了服务器节点的网格。 当我的一个节点最终停止(例如,我的应用程序重新部署)时,我遇到了这个问题,在加入网格后,我的日志中有以下内容:

    [13:57:32,140][WARNING][main][GridDhtPreloader] <cacheLocks> Failed to wait for initial partition map exchange. Possible reasons are:
      ^-- Transactions in deadlock.
      ^-- Long running transactions (ignore if this is the case).
      ^-- Unreleased explicit locks.
    [13:57:33,085][WARNING][grid-timeout-worker-#33%null%][GridDhtPartitionsExchangeFuture] <cacheLocks> Retrying preload partition exchange due to timeout [done=false, dummy=false, exchId=GridDhtPartitionExchangeId [topVer=56, nodeId=ee95b126, evt=NODE_JOINED], rcvdIds=[03e6666c], rmtIds=[ba1d527c, 03e6666c, 76bf5103], remaining=[ba1d527c, 76bf5103], init=true, initFut=true, ready=true, replied=false, added=true, oldest=76bf5103, oldestOrder=46, evtLatch=0, locNodeOrder=56, locNodeId=ee95b126-aaf9-4d46-9273-983e175d513a]
[13:57:32140][WARNING][main][GridDhtPreloader]未能等待初始分区映射交换。可能的原因是:
^--事务处于死锁状态。
^--长时间运行的事务(如果是这种情况,则忽略)。
^--未释放的显式锁。
[13:57:33085][WARNING][grid timeout worker-#33%null%][GridDhtPartitionsExchangeFuture]由于超时而重试预加载分区交换[done=false,dummy=false,exchId=GridDhtPartitionExchangeId[topVer=56,nodeId=ee95b126,evt=NODE_JOINED],rcvdIds=[03E666C],rmtIds=[ba1d527c,03E666C,76bf5103],剩余=[ba1d527c,76bf5103],init=true,initFut=true,ready=true,reply=false,added=true,oldestOrder=76bf5103,oldestOrder=46,evtLatch=0,locNodeOrder=56,locNodeId=ee95b126-aaf9-4d46-9273-983e175d513a]
这不是死锁,也不是长时间运行的事务。我假设是未释放的锁,因为JVM立即停止而未释放,在此之前,我的应用程序执行了
缓存.lock(key,0L)
操作,但未执行
缓存.unlock(key)

我所要做的就是重新启动所有的网格


问题是如何避免未释放的锁以及如何管理它们?如何正确处理此类情况?

如果节点出现故障,您无需额外努力释放远程节点上先前获取的锁,GridGain将自动释放这些锁。能否更新到GridGain(6.5.6)的最新版本并重试测试?
如果没有帮助,请创建一个可复制的示例并附加到问题。

您使用的是哪种版本的GridGain?