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/
>

Reply via email to