I have a scenario where I use a persistent ignite queue across cluster
This is my setup using ignite 2.5-
Few server nodes which hosts some caches in persistance mode and a cluster
singleton ignite service. This ignite service upon initialization,
initializes two persistent queues.
Rest of the nodes in cluster are client nodes. They either put data in queue
or consume data from queue (depending on their role). Basically I am using
Ignite queue as a worker queue, one party fills the queue and another party
I have observed that sometimes the queue gets stuck, as in the queue.take()
method on one node keeps blocking even if there are items in the queue. This
issue does not go away until I restart the whole cluster from fresh state.
I looked into the /etc/ignite/peristance/1 folder (1 is the consistent node
id for one of the nodes). It only contains folders to store the caches. I
cannot see any reference of queue getting saved. I am missing something
IgniteQueue is stored in the atomics cache, which is called ignite-sys-atomic-cache@default-ds-group by default.
This cache is stored in the default data region, so in order to make it persisted, you need to make the default data region persisted using DataStorageConfiguration#defaultDataRegionConfiguration property.