- Notifications
You must be signed in to change notification settings - Fork 32
Open
Labels
Description
In the put! function, slab! is called before queue!, writing the data to the slab before offering to the queue.
(if-let [val (locking q (queue! (vary-meta (slab!) assoc ::this this-ref ::queue-name q-name ::queue q ::fsync? fsync-take?)))]The consequence is that the slab files can get larger than the max-queue-size, and upon application restart, exceptions get raised when the slabs are loaded and don't fit into the queue.
(IllegalArgumentException. "'max-queue-size' insufficient to hold existing tasks."))Reactions are currently unavailable