[
https://issues.apache.org/jira/browse/IGNITE-477?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Alexey Goncharuk closed IGNITE-477.
-----------------------------------
> Possible scenario when GridDhtTxRemote is never finished if tx has only reads
> -----------------------------------------------------------------------------
>
> Key: IGNITE-477
> URL: https://issues.apache.org/jira/browse/IGNITE-477
> Project: Ignite
> Issue Type: Bug
> Components: cache
> Reporter: Semen Boikov
> Assignee: Alexey Goncharuk
> Priority: Blocker
> Fix For: sprint-3
>
>
> Found following issue when GridDhtTxRemote is never finished:
> - start explicit PESSIMISTIC, REPEATABLE_READ transaction
> - in transaction just execute cache.get(key) and commit
> - there are two nodes, node1, node2. Tx is started on node1, node2 is just
> started, it is new primary for key but preloading is not finished
> - during 'get' handling node2 sends GridDhtLockRequest to node1 with single
> key (lines 830-836) in GridDhtLockFuture
> - node1 starts GridDhtTxRemote
> - when tx is committed GridDhtTxPrepareFuture on node2 does not send
> GridDhtTxPrepareRequest if tx has only write entries (see
> GridDhtTxPrepareFuture.prepare0). As result GridDhtTxRemote created on node1
> is never finished (and partitionReleaseFuture also will never finish).
> Added simple test reproducing issue: IgniteCacheTxPreloadNoWriteTest.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)