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

Head commit for run:
c4d9ce052352b3d6452601c673bc4c097ca1ff32 / hulk <hulk.webs...@gmail.com>
fix(core): potential data race between blocking command and transaction (#2910)

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 get trapped in the wrong transaction mode and break 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 uses the transaction to send the command: `MULTI; LPUSH list 
a; EXEC`.
Then the client A's callback will be revoked after the `LPUSH` command is 
executed, but the EXEC is running.
So the callback's operation(removing an element from the list) will be counted 
in the transaction.

It closes #2900.
It closes #2766.

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

With regards,
GitHub Actions via GitBox

Reply via email to