[ https://issues.apache.org/jira/browse/IGNITE-4648?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16087061#comment-16087061 ]
Ryabov Dmitrii commented on IGNITE-4648: ---------------------------------------- [~yzhdanov], [~ptupitsyn], test results are [here|http://ci.ignite.apache.org/viewLog.html?buildId=723892&tab=buildResultsDiv&buildTypeId=Ignite20Tests_RunAll]. > IgniteInternalTx.prepare() does not wait for async operations to complete > ------------------------------------------------------------------------- > > Key: IGNITE-4648 > URL: https://issues.apache.org/jira/browse/IGNITE-4648 > Project: Ignite > Issue Type: Bug > Components: cache > Affects Versions: 1.7 > Reporter: Pavel Tupitsyn > Assignee: Ryabov Dmitrii > Priority: Minor > Fix For: 2.2 > > > {{commit}} and {{rollback}} wait for async operations by calling > {{tx.txState().awaitLastFut();}} (see {{GridCacheSharedContext}}). > There is no such thing in {{IgniteInternalTx.prepare()}} implementations. > Since {{prepare}} is an internal method, this is not an issue mostly, except > for two things: > * JTA. {{CacheJtaResource}} calls {{prepare()}} explicitly. > * .NET {{TransactionScope}} API. Same thing as JTA, basically. > {{PlatformTransactions}} call {{prepare()}} as well. > As a result, if user starts an async operation within JTA transaction and > then completes the tx, undefined behavior is possible. -- This message was sent by Atlassian JIRA (v6.4.14#64029)