lavinmq
lavinmq copied to clipboard
Catch errors when initializing message_store
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
HOW can this pull request be tested?
there is a spec for the open method