Hi,
I tried the following code and it works as expected (without any exceptions)
Ignite ignite = Ignition.start();
CacheConfiguration cfg = new CacheConfiguration()
.setName("test-transactional-cache")
.setAtomicityMode(CacheAtomicityMode.TRANSACTIONAL);
IgniteCache cache = ignite.getOrCreateCache(cfg);
Integer key = new Integer(12);
IgniteTransactions transactions = ignite.transactions();
try (Transaction tx =
transactions.txStart(TransactionConcurrency.OPTIMISTIC,
TransactionIsolation.SERIALIZABLE)) {
cache.put(key, 42);
tx.commit();
}
System.out.println("key=" + key + ", value=" + cache.get(key));
Could you please provide cache configuration and full code snippet that can
be used as reproducer?
Thanks!
2017-09-03 8:19 GMT+03:00 richabali <[email protected]>:
> I am using transaction as below:
>
> ignite = Ignition.ignite();
> igniteTransactions = ignite.transactions();
> Transaction igniteTransaction = igniteTransactions.tx();
> if(igniteTransaction == null){
> igniteTransaction =
> igniteTransactions.txStart(TransactionConcurrency.OPTIMISTIC,
>
> TransactionIsolation.SERIALIZABLE);
> igniteTransaction.timeout(timeInMillis);
> }
>
> It gives below error when I try to put something in cache:
>
> class org.apache.ignite.IgniteCheckedException: Failed to enlist write
> value
> for key (cannot have update value in transaction after EntryProcessor is
> applied): 14630037
>
> org.apache.ignite.internal.processors.cache.distributed.
> near.GridNearTxLocal.enlistWriteEntry(GridNearTxLocal.java:1340)
>
> org.apache.ignite.internal.processors.cache.distributed.
> near.GridNearTxLocal.enlistWrite(GridNearTxLocal.java:856)
>
> org.apache.ignite.internal.processors.cache.distributed.
> near.GridNearTxLocal.putAsync0(GridNearTxLocal.java:534)
>
> org.apache.ignite.internal.processors.cache.distributed.
> near.GridNearTxLocal.putAsync(GridNearTxLocal.java:386)
>
> org.apache.ignite.internal.processors.cache.GridCacheAdapter$21.op(
> GridCacheAdapter.java:2355)
>
> org.apache.ignite.internal.processors.cache.GridCacheAdapter$21.op(
> GridCacheAdapter.java:2353)
>
> org.apache.ignite.internal.processors.cache.GridCacheAdapter.syncOp(
> GridCacheAdapter.java:4107)
>
> org.apache.ignite.internal.processors.cache.GridCacheAdapter.put0(
> GridCacheAdapter.java:2353)
>
> org.apache.ignite.internal.processors.cache.GridCacheAdapter.put(
> GridCacheAdapter.java:2334)
>
> org.apache.ignite.internal.processors.cache.GridCacheAdapter.put(
> GridCacheAdapter.java:2311)
>
> org.apache.ignite.internal.processors.cache.IgniteCacheProxy.put(
> IgniteCacheProxy.java:1502)
>
> Please give some explanation on why this error occurs and what can be done
> to avoid it.
>
>
>
>
> --
> Sent from: http://apache-ignite-users.70518.x6.nabble.com/
>