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

  1. 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.