Skip to content

Slabs can grow larger than max-queue-size #18

@sundbry

Description

@sundbry

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."))

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions