Since Node.js doesn't have a concept of threads, currently Hazelcast Node.js Client uses 0 as the the threadID for Map lock and any other method that uses the threadID.
That causes confusion for developers, since the lock behaves as if it wasn't locked when accessed by different promises, etc.
The documentation about this behaviour seems to be missing.