Sergey Stronchinskiy created IGNITE-13214: ---------------------------------------------
Summary: .NET different behavior when using TransactionScope and ITransactions.Start Key: IGNITE-13214 URL: https://issues.apache.org/jira/browse/IGNITE-13214 Project: Ignite Issue Type: Bug Components: platforms Reporter: Sergey Stronchinskiy Next code runs fine: {code:c#} var barier = new Barrier(2); var cache = Cache(); cache.Put(1, 1); var task = Task.Factory.StartNew(() => { var otherCache = Cache(); barier.SignalAndWait(); otherCache.Put(1, 10); barier.SignalAndWait(); }); using (var txscp = new TransactionScope(TransactionScopeOption.Required, new TransactionOptions{IsolationLevel = IsolationLevel.Serializable})) { var before = cache.Get(1); barier.SignalAndWait(); barier.SignalAndWait(); txscp.Complete(); } Task.WaitAll(task); barier.Dispose(); {code} When I switch to Ignite transactions I get exception: using (var tx = Transactions.TxStart(TransactionConcurrency.Optimistic, TransactionIsolation.Serializable)) { var before = cache.Get(1); barier.SignalAndWait(); barier.SignalAndWait(); tx.Commit(); } Apache.Ignite.Core.Transactions.TransactionOptimisticException : Failed to prepare transaction (lock conflict): GridNearTxLocal [mappings=IgniteTxMappingsImpl [], `Cache` is `IIgnite.Cache<int, int>()` and `Transactions` is `IIgnite.GetTransactions()` -- This message was sent by Atlassian Jira (v8.3.4#803005)