ignite-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Vladimir Ozerov (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (IGNITE-477) Possible scenario when GridDhtTxRemote is never finished if tx has only reads
Date Tue, 07 Apr 2015 10:45:12 GMT

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

Vladimir Ozerov commented on IGNITE-477:

Fix works well for me. 

Semen, Alex please coordinate review as I do not have neough cache code knowledge in this

> 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: Semen Boikov
>            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

View raw message