For the below Cache configuration:
1. AtomicityMode = transactional
1. In Thread 1: invoke Entry Processor on item1 (key =k1) and not call any setValue (just reads)
2. Concurrently, in Thread 2: invoke Entry Processor on item1 (key =k1) and not call any setValue (again just reads)
1. Will Thread #2 wait till #1 finish? Can the 2 threads execute parallelly since there is no write? In other words will entryProcessor lock the item even if optimistic transactions are used?
2. Will Entry Processor be also invoked on backup copy even though the operation is read only?
3. Is there a readonly (and lock free) entry processor (like in hazelcast) which never locks the entry?
The reason for this unusual use case (using Entry processor for reads) is that we are building something like DynamoDB using Ignite. I supports Sort keys beside partition keys. Reading in the above fashion allows us to reduce network transfers so that we read only the item that matches a particular partition key and sort key instead of first reading in the full partition key values and then filter the matching sort key.
How do you use optimistic tx with Entry processor? The ConcurrencyMode and isolationMode can only be set when you start a tx. Are you saying we should call the entry processor within a tx with concurencymode Optimistic? like this: