The GitHub Actions job "Lint PR" on kvrocks.git/fix/issue-2900 has succeeded.
Run started by GitHub user git-hulk (triggered by git-hulk).

Head commit for run:
5bddd5db5185012d7959667d1d826d40c9ecaf1d / git-hulk <hulk.webs...@gmail.com>
Fix potential data race between blocking command and transaction

Currently, the EXEC is an exclusive command and will enter the
transaction mode when running, but the blocking command's callback
function doesn't have this lock. So the callback might trap into wrong
transcation mode and broken the write batch.

For example, the client A sends the command: `BRPOP list 10` and it will
enter the blocking mode due to no data. And the client B use the
transaction to send the command: `MULTI; LPUSH list a; EXEC`. Then the
client A's callback will be revoked after the `LPUSH` command was
executed but the EXEC is running. So the callback's operation like
removing an element from list will be counted into transaciton.

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

With regards,
GitHub Actions via GitBox

Reply via email to