{"record":{"id":"20a49c88e7085403","repo":"alibaba/nacos","slug":"unlock-error","errorCode":null,"errorMessage":"unLock error.","messagePattern":"unLock error\\.","errorType":"exception","errorClass":"NacosLockException","httpStatus":null,"severity":"error","filePath":"lock/src/main/java/com/alibaba/nacos/lock/service/impl/LockOperationServiceImpl.java","lineNumber":475,"sourceCode":"        lockInfo.setOwner(lockInstance.getOwner());\n        request.setLockInfo(lockInfo);\n        WriteRequest writeRequest = WriteRequest.newBuilder().setGroup(group())\n            .setData(ByteString.copyFrom(serializer.serialize(request)))\n            .setOperation(LockOperationEnum.RELEASE.name()).build();\n        try {\n            Response response = protocol.write(writeRequest);\n            if (response.getSuccess()) {\n                return serializer.deserialize(response.getData().toByteArray());\n            }\n            throw new NacosLockException(response.getErrMsg());\n        } catch (NacosLockException e) {\n            int paramSize = lockInstance.getParams() == null ? 0 : lockInstance.getParams().size();\n            LOGGER.error(\"key: {}, lockType:{}, paramSize:{} unlock fail, errorMsg: {}\",\n                lockInstance.getKey(),\n                lockInstance.getLockType(), paramSize, e.getMessage());\n            throw e;\n        } catch (Exception e) {\n            throw new NacosLockException(\"unLock error.\", e);\n        }\n    }\n    \n    @Override\n    public Boolean renew(LockInstance lockInstance) {\n        MutexLockRequest request = new MutexLockRequest();\n        LockInfo lockInfo = new LockInfo();\n        lockInfo.setKey(new LockKey(lockInstance.getLockType(), lockInstance.getKey()));\n        lockInfo.setParams(lockInstance.getParams());\n        lockInfo.setOwner(lockInstance.getOwner());\n        \n        long expiredTime = lockInstance.getExpiredTime();\n        if (expiredTime < 0) {\n            lockInfo.setEndTime(defaultExpireTime + getNowTimestamp());\n        } else {\n            lockInfo.setEndTime(Math.min(maxExpireTime, expiredTime) + getNowTimestamp());\n        }\n        request.setLockInfo(lockInfo);","sourceCodeStart":457,"sourceCodeEnd":493,"githubUrl":"https://github.com/alibaba/nacos/blob/9b989acdf181d00898f2e8839257bb2b2a3cefe3/lock/src/main/java/com/alibaba/nacos/lock/service/impl/LockOperationServiceImpl.java#L457-L493","documentation":"Error \"unLock error.\" thrown in alibaba/nacos.","triggerScenarios":"Thrown at lock/src/main/java/com/alibaba/nacos/lock/service/impl/LockOperationServiceImpl.java:475 when the library encounters an invalid state.","commonSituations":"An unlock call failed on the server.","solutions":["Inspect the server logs for the underlying cause, fix it, and retry the operation."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"9b989acdf181d00898f2e8839257bb2b2a3cefe3","analyzedAt":"2026-08-14T07:17:31.569Z","schemaVersion":2},"datasetVersion":"2026-08-14T10:17:34.591Z"}