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

Semen Boikov commented on IGNITE-1265:
--------------------------------------

Found following hang appeared after fix for 'forceKeysRequest ':
- near cache is enabled
- node 1 starts tx, executes put, first key is locked on node1 and added in 
GridCacheMvccManager.nearLocked, but I found that added GridCacheMvccCandidate 
has topology version -1
- key is mapped on node 2 which is not partition owner and it sends 
'forceKeysRequest ' to node1
- on node 1 GridDhtPreloader.processForceKeysRequest first calls 
GridCacheMvccManager.finishKeys, since GridCacheMvccCandidate added on first 
step has has topology version -1 filtering in FinishLockFuture.versionFilter 
does not work and it waits forever for lock acquired by the same transaction

Added simple test reproducing hang (GridCacheNearTxForceKeyTest), fixed 
GridDistributedCacheEntry.tmLock to initialize topology version for added 
GridCacheMvccCandidate.

Alexey, please review.

> Remote cross-cache transactions are not committed during changing topology
> --------------------------------------------------------------------------
>
>                 Key: IGNITE-1265
>                 URL: https://issues.apache.org/jira/browse/IGNITE-1265
>             Project: Ignite
>          Issue Type: Bug
>          Components: cache
>    Affects Versions: 1.1.4
>            Reporter: Alexey Goncharuk
>            Assignee: Alexey Goncharuk
>
> Identified problems:
>  * invalidPartitions is not differentiated by cacheId, therefore when invalid 
> partitions response is received, mapping can be mistakenly removed from 
> transaction, but remote transaction still exists on remote node.
>  * commitIfLocked fails to verify owning entry (need to investigate)



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to