redis / lettuce

Advanced Java Redis client for thread-safe sync, async, and reactive usage. Supports Cluster, Sentinel, Pipelining, and codecs.
https://lettuce.io
MIT License
5.41k stars 979 forks source link

fix: activation command may get retried in a different connection, or failed due to queue full or dangled due to auto flush is false #2963

Open okg-cxf opened 3 months ago

okg-cxf commented 3 months ago

Bug Report

  1. activation command should never be retired in a different connection;
  2. activation command should never fail due to queue full;
  3. activation command should never get dangled in writeBuffer even if auto flush is false.

Refer to the MR for more details: https://github.com/redis/lettuce/pull/2962/files

Current Behavior

Stack trace ```java // your stack trace here; ```

Input Code

Input Code ```java // your code here; ```

Expected behavior/code

Environment

Possible Solution

Additional context

tishun commented 2 months ago

Hey @okg-cxf ,

could we take a step back and talk a bit more about the use case you are handling?

Can you give a short example of the issue you are trying to solve? When does it occur? Is there an easy way to reproduce it?