Hello, With a transactional queue (CollectionConfiguration.atomicityMode = TRANSACTIONAL), the queue implementation starts a transaction internally [1].
If a transaction already exists in the current thread, queue operation will fail with "Failed to start new transaction (current thread already has a transaction)" [2] [1] https://github.com/apache/ignite/blob/ee955df9fb80737292aac5f7ad3c82f8f0d8ea8e/modules/core/src/main/java/org/apache/ignite/internal/processors/datastructures/GridTransactionalCacheQueueImpl.java#L56 [2] https://github.com/apache/ignite/blob/297bc9cc470c569d4c0e6ed12c734e3b92bc3d58/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/transactions/IgniteTransactionsImpl.java#L194 On Thu, Jun 5, 2025 at 5:24 AM Alex Roytman <roytm...@gmail.com> wrote: > > Hello, > > Can Ignite 2.0 queue be transactional and if so what does it mean? > If a thread starts a transaction will it block the queue for other > threads/clients? > If a thread rolls back its transaction will it return the taken item(s) the > queue? In what place on the queue? > > Thank you, > Alex >