rabbitmq / rabbitmq-server

Open source RabbitMQ: core server and tier 1 (built-in) plugins
https://www.rabbitmq.com/
Other
12.32k stars 3.92k forks source link

QQ: handle case where a stale read request results in member crash. (backport #12636) #12637

Closed mergify[bot] closed 3 weeks ago

mergify[bot] commented 3 weeks ago

It is possible for a slow running follower with local consumers to crash after a snapshot installation as it tries to read an entry from its log that is no longer there (as it has been consumed and completed by another node but still refers to prior consumers on the current node).

This commit makes the log effect callback function more defensive to check that the number of commands returned by the log effect isn't different from what was requested. if it is different we consider this a stale read request and return no further effects.

Fixes #12635


This is an automatic backport of pull request #12636 done by Mergify.