[ 
https://issues.apache.org/jira/browse/IGNITE-1561?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15969202#comment-15969202
 ] 

Semen Boikov commented on IGNITE-1561:
--------------------------------------

So far Identified these issues:
- we should not allow onePhase commit if tx has cache with near cache (since we 
do not know in advance if there are near caches to update)
- GridNearPessimisticTxPrepareFuture maps requests using <nodeId, nearFlag> 
key, so it can send multiple concurrent near prepare requests on the same node 
which breaks internal logic. Actually it seems there is no need to create 
separate near prepare requests for near cache entries  (the same mapping issue 
exists for others near prepare futures)

> Cross cache tx tests with near cache fail with asserts
> ------------------------------------------------------
>
>                 Key: IGNITE-1561
>                 URL: https://issues.apache.org/jira/browse/IGNITE-1561
>             Project: Ignite
>          Issue Type: Sub-task
>          Components: cache
>            Reporter: Semen Boikov
>            Assignee: Semen Boikov
>            Priority: Critical
>             Fix For: 2.1
>
>
> I added in master cross cache txs test from ignite-80 branch 
> (IgniteCrossCacheTxNearEnabledSelfTest), it fails with various asserts, e.g.:
> {noformat}
> java.lang.AssertionError
>       at 
> org.apache.ignite.internal.processors.cache.distributed.dht.GridDhtTxMapping.initLast(GridDhtTxMapping.java:86)
>       at 
> org.apache.ignite.internal.processors.cache.distributed.near.GridNearOptimisticTxPrepareFuture.prepare(GridNearOptimisticTxPrepareFuture.java:544)
>       at 
> org.apache.ignite.internal.processors.cache.distributed.near.GridNearOptimisticTxPrepareFuture.prepare0(GridNearOptimisticTxPrepareFuture.java:452)
>       at 
> org.apache.ignite.internal.processors.cache.distributed.near.GridNearOptimisticTxPrepareFuture.prepareOnTopology(GridNearOptimisticTxPrepareFuture.java:341)
>       at 
> org.apache.ignite.internal.processors.cache.distributed.near.GridNearOptimisticTxPrepareFuture.prepare(GridNearOptimisticTxPrepareFuture.java:279)
>       at 
> org.apache.ignite.internal.processors.cache.distributed.near.GridNearTxLocal.prepareAsync(GridNearTxLocal.java:758)
>       at 
> org.apache.ignite.internal.processors.cache.distributed.near.GridNearTxLocal.commitAsync(GridNearTxLocal.java:769)
>       at 
> org.apache.ignite.internal.processors.cache.GridCacheSharedContext.commitTxAsync(GridCacheSharedContext.java:642)
>       at 
> org.apache.ignite.internal.processors.cache.transactions.TransactionProxyImpl.commit(TransactionProxyImpl.java:256)
>       at 
> org.apache.ignite.internal.processors.cache.distributed.dht.IgniteCrossCacheTxSelfTest.checkTxsSingleOp(IgniteCrossCacheTxSelfTest.java:170)
>       at 
> org.apache.ignite.internal.processors.cache.distributed.dht.IgniteCrossCacheTxSelfTest.testOptimisticRepeatableRead(IgniteCrossCacheTxSelfTest.java:136)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:606)
> {noformat}
> Test pass is near cache is disabled (added separate test for this mode: 
> IgniteCrossCacheTxSelfTest).



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to