fogfish / esq

simple persistent queues for Erlang
Apache License 2.0
56 stars 8 forks source link

Lock a disk segment if in-flight heap contains its message #15

Open fogfish opened 5 years ago

fogfish commented 5 years ago

In-flight capability implements a simple protocol that ensures message retransmission in case of consumer failure. In-flight heap is pure in-memory segment. Existed queue behaviour deletes the on-disk segment one its last message reads (delete happens during rotation). The crash of Erlang node will cause lost of in-flight heap. We need to ensure that disk segments are deleted only when its messages are acknowledged by consumer.