Paragrf commented on PR #3378:
URL: https://github.com/apache/kvrocks/pull/3378#issuecomment-3996055226

   > I've reviewed the CLIENT PAUSE/UNPAUSE implementation and noticed a couple 
of behavioral differences compared to Redis that I wanted to flag:
   > 
   > Blocking Scope (ALL mode):
   > 
   > In Redis, CLIENT PAUSE timeout ALL blocks all commands (including CLIENT 
PAUSE/UNPAUSE itself). In our current implementation, these commands remain 
unblocked.
   > 
   > Overwriting Behavior (WRITE mode):
   > 
   > When re-invoking CLIENT PAUSE timeout WRITE during an active write-block:
   > 
   > Redis: Only allows overwriting if the new timeout is longer than the 
remaining time, or if using ALL (which overrides WRITE). Current 
Implementation: New WRITE pauses fully overwrite existing ones (timeout + 
config), regardless of duration/type.
   > 
   > Could we confirm if these differences align with the intended behavior for 
Kvrocks?
   
   Second question(Overwriting Behavior):
   
   - That is a very sharp observation. This approach was designed to allow 
users to override an accidentally long timeout by issuing a new PAUSE or an 
UNPAUSE command. While this provides greater operational flexibility, I 
acknowledge it creates a divergence from standard Redis behavior. I am happy to 
follow the collective feedback; if the consensus is to remain strictly loyal to 
the official Redis implementation, I will revert this logic accordingly.
   @git-hulk @PragmaTwice @sryanyuan @caipengbo 


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to