alibaba/nacos · error · NacosLockException
lockType or lockKey is null.
Error message
lockType or lockKey is null.
What it means
Error "lockType or lockKey is null." thrown in alibaba/nacos.
Source
Thrown at lock/src/main/java/com/alibaba/nacos/lock/NacosLockManager.java:56
@Service
public class NacosLockManager implements LockManager {
private final Map<String, LockFactory> factoryMap;
private final ConcurrentHashMap<LockKey, AtomicLockService> atomicLockMap =
new ConcurrentHashMap<>();
public NacosLockManager() {
Collection<LockFactory> factories = NacosServiceLoader.load(LockFactory.class);
factoryMap = factories.stream()
.collect(
Collectors.toConcurrentMap(LockFactory::getLockType, lockFactory -> lockFactory));
}
@Override
public AtomicLockService getMutexLock(LockKey lockKey) {
if (lockKey == null || lockKey.getLockType() == null || lockKey.getKey() == null) {
throw new NacosLockException("lockType or lockKey is null.");
}
if (!factoryMap.containsKey(lockKey.getLockType())) {
throw new NacosLockException("lockType: " + lockKey.getLockType() + " is not exist.");
}
return atomicLockMap.computeIfAbsent(lockKey, lock -> {
LockFactory lockFactory = factoryMap.get(lock.getLockType());
return lockFactory.createLock(lock.getKey());
});
}
@Override
public Map<LockKey, AtomicLockService> showLocks() {
return Collections.unmodifiableMap(atomicLockMap);
}
/**
* Return the raw mutable lock map for internal use (snapshot load/save).
*View on GitHub (pinned to 9b989acdf1)
Solutions
- Provide a non-null value for lock params null before invoking this operation.
When it happens
Trigger: Thrown at lock/src/main/java/com/alibaba/nacos/lock/NacosLockManager.java:56 when the library encounters an invalid state.
Common situations: Acquiring a lock with a null lockType or lockKey.
AI-assisted analysis of alibaba/nacos@9b989acdf1 (2026-08-14).
Data as JSON: /api/errors/5fb2a9b87f18bcb8.
Report an issue: GitHub.