[
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)