it would be really nice from the operations point of view, to have a variant of XAUTOCLAIM that just deletes a consumer from a group, triggering that the system redelivers the messages to the other consumers in the group

cases to consider are simple: imagine that you have a k8s Deployment of workers processing a stream, basing the consumer name of each one on a HOSTNAME env var that is dinamically produced. Furthermore, you can have inestable deployment based on spot machines, meaning that any of those consumers can be gracefully stopped in any moment at the working stage (and recreated with distinct HOSTNAME).

In this case, this kind of function, called by the gracefully stopped pod itself (or any third part controller monitoring the deployment), telling to redeliver all his PEL to other consumers (do not care which of them), would be really great.

summary: functionality of deleting a consumer of a group in such a way his PEL is redelivered to the other consumers, without taking care of which are going to receive the messages

Comment From: Guillermogsjc

probably this is just a variant of XGROUP DELCONSUMER with automatic reassignation of the PEL of the deleted consumer into the other consumers of the group without the need of explicit XCLAIM or XAUTOCLAIM into the other consumers (that imply knowing all other consumers, and picking the messages you will redeliver into each of the other consumers, a superflous logic to be executed in general).

Regarding doc https://redis.io/docs/latest/commands/xgroup-delconsumer/ :

Note, however, that any pending messages that the consumer had will become unclaimable after it was deleted. It is strongly recommended, therefore, that any pending messages are claimed or acknowledged prior to deleting the consumer from the group.

But the thing is that, usually, when you delete the consumer, you really do not care about the redistribution of his PEL into another consumers of the group. Probably the thing that you want it that redis itself redistributes the PEL before deletion among the rest of consumers in the optimized same algorithm that uses to distribute the messages through the group.

The base case, is you do not care about which of the other consumers should process wich messages of the PEL of the retiring consumer, and at this point, is at the point of which a variant of XGROUP DELCONSUMER that automatically redistributes the PEL before the deletion, would be the best function in general to redeliver workload messages.

Benefits of Automatic Redistribution: - Simplicity: Reduces the complexity in application logic by offloading message redistribution to Redis. - Efficiency: Utilizes Redis’s internal optimized algorithms for message distribution, potentially improving performance. - Reliability: Ensures that pending messages are not lost or left unprocessed, enhancing the robustness of the system.

Comment From: kodeine

is there any update to this?