The GitHub Actions job "CI" on kvrocks.git has succeeded.
Run started by GitHub user git-hulk (triggered by git-hulk).

Head commit for run:
36ce907b1f259243f05d0b523c012d9541e84f3e / Binbin <binloveplay1...@qq.com>
Fix MSETNX not allow overriding the same key (#1631)

The changes in #337 causing this issue:
```
127.0.0.1:6379> flushall
OK
127.0.0.1:6379> msetnx k v1 k v2
(integer) 1
127.0.0.1:6379> get k
"v2

127.0.0.1:6666> flushall
OK
127.0.0.1:6666> msetnx k v1 k v2
(integer) 0
127.0.0.1:6666> get k
"v1"
```

Redis allow we overriding the same key but kvrocks will
fail in this case. The way to handle it is to revert the
changes in #337.

So this PR is based on that, after reverting the changes
of #337, we can reuse the logic of MSet. And hulk mentions
that MSETNX is an exclusive command and we better to lock
those keys and then remove the exclusive flag from the command.

So we use MultiLockGuard before Exists call to lock multi
keys. And change MSet to support non-lock calls. And also
remove the exclusive flag from MSETNX command.

Report URL: https://github.com/apache/kvrocks/actions/runs/5763688013

With regards,
GitHub Actions via GitBox

Reply via email to