Hi, To make this work, you can change the transaction type - from READ_COMMITED to SERIALIZABLE and replace scanQuery with getAll. In this case, getAll operation will be waiting for locked keys. Note that running cache operations in CQ listener thread may cause deadlock and it's better to use another thread for that.
Best Regards, Evgenii