This implements a more efficient way of reading a list of non consecutive indexes from the Ra log using a new ra_log:sparse_read function. This can be used by RabbitMQ quorum queues to read messages due to be delivered to consumers in a faster manner.
There is also an optimisation where it will automatically read ahead if some of the indexes in the requested list form a consecutive run (as is likely to happen for RabbitMQ quorum queues also).
This implements a more efficient way of reading a list of non consecutive indexes from the Ra log using a new
ra_log:sparse_read
function. This can be used by RabbitMQ quorum queues to read messages due to be delivered to consumers in a faster manner.There is also an optimisation where it will automatically read ahead if some of the indexes in the requested list form a consecutive run (as is likely to happen for RabbitMQ quorum queues also).