lavinmq icon indicating copy to clipboard operation
lavinmq copied to clipboard

Catch errors when initializing message_store

Open kickster97 opened this issue 1 year ago • 0 comments

WHAT is this pull request doing?

This PR adds that we catch error when reading segments, to let LavinMQ start up even if we have corrupted messages in a msg_store segment. It introduces open to queue.cr, which allows you to manually try to open the queue again after solving the errors. (you no longer have to restart LavinMQ)

Also improves the logging by logging the reason of closing the queue/message_store, then saves the exception as @closed_reason in queue and message_store and exports it to the ui via details_tuple

Have some polishing to do, but the basic idea is there so i thought i'd open the pr to get some feedback TODO: make UI make sense wip image

HOW can this pull request be tested?

there is a spec for the open method

kickster97 avatar Jun 18 '24 14:06 kickster97