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]
