Hi All,

I have been playing around with Collision SPI and specifically used
FifoQueueCollisionSPI and noticed that it is not really adhering to
the specified task of restricting the number of concurrent tasks that
can be run.

Specifically, if there is only one slot available and N tasks
concurrently land onto the node, all nodes will take the current
active count, compare it with maximum jobs count and proceed.

Essentially, we have no concurrency safety there.

I propose refactoring FifoQueueCollisionSPI to use semaphores and/or
atomic variables to ensure that all jobs get a realistic view of the
active count.

Please share your thoughts,

Regards,

Atri

-- 
Regards,

Atri
Apache Concerted

Reply via email to