[jira] [Commented] (IGNITE-13214) .NET different behavior when using TransactionScope and ITransactions.Start

2020-07-09 Thread Pavel Tupitsyn (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-13214?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17154798#comment-17154798
 ] 

Pavel Tupitsyn commented on IGNITE-13214:
-

Merged to master: 0aceb369c0097dadf94fae75456521baf678005a
Cherry-picked to ignite-2.9: 00abad78c82c67ffc8066e4f8d7327c6e4733561

> .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
>Assignee: Pavel Tupitsyn
>Priority: Critical
>  Labels: .NET, transactions
> Fix For: 2.9
>
>  Time Spent: 1.5h
>  Remaining Estimate: 0h
>
> 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:
> {code:c#}
> using (var tx = 
> Transactions.TxStart(TransactionConcurrency.Optimistic, 
> TransactionIsolation.Serializable))
> {
> var before = cache.Get(1);
> barier.SignalAndWait();
> barier.SignalAndWait();
> tx.Commit();
> }
> {code}
> {noformat}
> Apache.Ignite.Core.Transactions.TransactionOptimisticException : Failed to 
> prepare transaction (lock conflict): GridNearTxLocal 
> [mappings=IgniteTxMappingsImpl [], 
> {noformat}
> _Cache_ is _IIgnite.Cache()_  and _Transactions_ is 
> _IIgnite.GetTransactions()_



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-13214) .NET different behavior when using TransactionScope and ITransactions.Start

2020-07-08 Thread Ignite TC Bot (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-13214?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17154106#comment-17154106
 ] 

Ignite TC Bot commented on IGNITE-13214:


{panel:title=Branch: [pull/8004/head] Base: [master] : Possible Blockers 
(5)|borderStyle=dashed|borderColor=#ccc|titleBGColor=#F7D6C1}
{color:#d04437}PDS 4{color} [[tests 
1|https://ci.ignite.apache.org/viewLog.html?buildId=5450402]]
* IgnitePdsTestSuite4: 
RebalanceCancellationTest.testRebalanceNoneBltNodeFailedOnMixedCluster - Test 
has low fail rate in base branch 0,0% and is not flaky

{color:#d04437}Cache 2{color} [[tests 
1|https://ci.ignite.apache.org/viewLog.html?buildId=5450383]]
* IgniteCacheTestSuite2: 
GridCachePartitionedNearDisabledTxMultiThreadedSelfTest.testOptimisticSerializableCommitMultithreaded
 - Test has low fail rate in base branch 0,0% and is not flaky

{color:#d04437}Cache 1{color} [[tests 
1|https://ci.ignite.apache.org/viewLog.html?buildId=5450382]]
* IgniteBinaryCacheTestSuite: 
GridCacheBalancingStoreSelfTest.testConcurrentLoad - Test has low fail rate in 
base branch 0,0% and is not flaky

{color:#d04437}Basic 1{color} [[tests 
1|https://ci.ignite.apache.org/viewLog.html?buildId=5450362]]
* IgniteBasicTestSuite: 
WALRecordSerializationTest.testAllWalRecordsSerializedCompressedAndThenDeserializedSuccessfully
 - Test has low fail rate in base branch 0,0% and is not flaky

{color:#d04437}Basic 2{color} [[tests 
1|https://ci.ignite.apache.org/viewLog.html?buildId=5450323]]
* IgniteComputeBasicConfigVariationsFullApiTestSuite: 
IgniteComputeConfigVariationsFullApiTest_17.testDeployExecuteByName - Test has 
low fail rate in base branch 0,0% and is not flaky

{panel}
{panel:title=Branch: [pull/8004/head] Base: [master] : New Tests 
(17)|borderStyle=dashed|borderColor=#ccc|titleBGColor=#D6F7C1}
{color:#8b}Platform .NET (Long Running){color} [tests 3]
* {color:#013220}exe: 
CacheAbstractTransactionalTest.TestTransactionScopeWithSerializableIsolationLocksKeysOnRead
 - PASSED{color}
* {color:#013220}exe: 
CacheAbstractTransactionalTest.TestTransactionScopeWithSerializableIsolationLocksKeysOnRead
 - PASSED{color}
* {color:#013220}exe: 
CacheAbstractTransactionalTest.TestTransactionScopeWithSerializableIsolationLocksKeysOnRead
 - PASSED{color}

{color:#8b}Platform .NET{color} [tests 3]
* {color:#013220}exe: 
CacheAbstractTransactionalTest.TestTransactionScopeWithSerializableIsolationLocksKeysOnRead
 - PASSED{color}
* {color:#013220}exe: 
OptimisticTransactionTest.TestExplicitOptimisticTransactionThrowsOptimisticExceptionOnConflict
 - PASSED{color}
* {color:#013220}exe: 
OptimisticTransactionTest.TestAmbientOptimisticTransactionThrowsOptimisticExceptionOnConflict
 - PASSED{color}

{color:#8b}Platform .NET (Core Linux){color} [tests 3]
* {color:#013220}dll: 
CachePartitionedTest.TestTransactionScopeWithSerializableIsolationLocksKeysOnRead
 - PASSED{color}
* {color:#013220}dll: 
OptimisticTransactionTest.TestExplicitOptimisticTransactionThrowsOptimisticExceptionOnConflict
 - PASSED{color}
* {color:#013220}dll: 
OptimisticTransactionTest.TestAmbientOptimisticTransactionThrowsOptimisticExceptionOnConflict
 - PASSED{color}

{color:#8b}Service Grid{color} [tests 4]
* {color:#013220}IgniteServiceGridTestSuite: 
ServiceDeploymentProcessIdSelfTest.topologyVersion[Test event=IgniteBiTuple 
[val1=DiscoveryEvent [evtNode=d4f916bd-963e-4875-b0d9-b6cd769a32b4, topVer=0, 
nodeId8=08c81af0, msg=, type=NODE_JOINED, tstamp=1594248504235], 
val2=AffinityTopologyVersion [topVer=2876465466042446570, minorTopVer=0]]] - 
PASSED{color}
* {color:#013220}IgniteServiceGridTestSuite: 
ServiceDeploymentProcessIdSelfTest.requestId[Test event=IgniteBiTuple 
[val1=DiscoveryEvent [evtNode=d4f916bd-963e-4875-b0d9-b6cd769a32b4, topVer=0, 
nodeId8=08c81af0, msg=, type=NODE_JOINED, tstamp=1594248504235], 
val2=AffinityTopologyVersion [topVer=2876465466042446570, minorTopVer=0]]] - 
PASSED{color}
* {color:#013220}IgniteServiceGridTestSuite: 
ServiceDeploymentProcessIdSelfTest.topologyVersion[Test event=IgniteBiTuple 
[val1=DiscoveryCustomEvent [customMsg=ServiceChangeBatchRequest 
[id=fa3ad903371-ec906005-587a-4dd2-be8c-91ce64d48350, reqs=SingletonList 
[ServiceUndeploymentRequest []]], affTopVer=null, super=DiscoveryEvent 
[evtNode=7ad4ae83-15c2-4a1f-93a5-fcb0acf73fbd, topVer=0, nodeId8=7ad4ae83, 
msg=null, type=DISCOVERY_CUSTOM_EVT, tstamp=1594248504235]], 
val2=AffinityTopologyVersion [topVer=7244792805766858131, minorTopVer=0]]] - 
PASSED{color}
* {color:#013220}IgniteServiceGridTestSuite: 
ServiceDeploymentProcessIdSelfTest.requestId[Test event=IgniteBiTuple 
[val1=DiscoveryCustomEvent [customMsg=ServiceChangeBatchRequest 
[id=fa3ad903371-ec906005-587a-4dd2-be8c-91ce64d48350, reqs=SingletonList 
[ServiceUndeploymentRequest []]], affTopVer=null, super=DiscoveryEvent 
[evtNode=7ad4ae83-15c2-4a1f-93a5-fcb0acf73fbd, topVer=0, nodeId8=7ad4ae83, 
msg=null, 

[jira] [Commented] (IGNITE-13214) .NET different behavior when using TransactionScope and ITransactions.Start

2020-07-08 Thread Sergey Stronchinskiy (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-13214?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17154033#comment-17154033
 ] 

Sergey Stronchinskiy commented on IGNITE-13214:
---

[~ptupitsyn] Looks great!

> .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
>Assignee: Pavel Tupitsyn
>Priority: Critical
>  Labels: .NET, transactions
> Fix For: 2.9
>
>  Time Spent: 1h 20m
>  Remaining Estimate: 0h
>
> 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:
> {code:c#}
> using (var tx = 
> Transactions.TxStart(TransactionConcurrency.Optimistic, 
> TransactionIsolation.Serializable))
> {
> var before = cache.Get(1);
> barier.SignalAndWait();
> barier.SignalAndWait();
> tx.Commit();
> }
> {code}
> {noformat}
> Apache.Ignite.Core.Transactions.TransactionOptimisticException : Failed to 
> prepare transaction (lock conflict): GridNearTxLocal 
> [mappings=IgniteTxMappingsImpl [], 
> {noformat}
> _Cache_ is _IIgnite.Cache()_  and _Transactions_ is 
> _IIgnite.GetTransactions()_



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-13214) .NET different behavior when using TransactionScope and ITransactions.Start

2020-07-08 Thread Pavel Tupitsyn (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-13214?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17154031#comment-17154031
 ] 

Pavel Tupitsyn commented on IGNITE-13214:
-

[~GuruStron] please have a look again, I've addressed the comments. Added more 
tests and fixed error handling for ambient transactions.

> .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
>Assignee: Pavel Tupitsyn
>Priority: Critical
>  Labels: .NET, transactions
> Fix For: 2.9
>
>  Time Spent: 1h 20m
>  Remaining Estimate: 0h
>
> 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:
> {code:c#}
> using (var tx = 
> Transactions.TxStart(TransactionConcurrency.Optimistic, 
> TransactionIsolation.Serializable))
> {
> var before = cache.Get(1);
> barier.SignalAndWait();
> barier.SignalAndWait();
> tx.Commit();
> }
> {code}
> {noformat}
> Apache.Ignite.Core.Transactions.TransactionOptimisticException : Failed to 
> prepare transaction (lock conflict): GridNearTxLocal 
> [mappings=IgniteTxMappingsImpl [], 
> {noformat}
> _Cache_ is _IIgnite.Cache()_  and _Transactions_ is 
> _IIgnite.GetTransactions()_



--
This message was sent by Atlassian Jira
(v8.3.4#803005)


[jira] [Commented] (IGNITE-13214) .NET different behavior when using TransactionScope and ITransactions.Start

2020-07-07 Thread Ignite TC Bot (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-13214?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17153101#comment-17153101
 ] 

Ignite TC Bot commented on IGNITE-13214:


{panel:title=Branch: [pull/8004/head] Base: [master] : Possible Blockers 
(18)|borderStyle=dashed|borderColor=#ccc|titleBGColor=#F7D6C1}
{color:#d04437}Platform .NET (Long Running){color} [[tests 0 TIMEOUT 
|https://ci.ignite.apache.org/viewLog.html?buildId=5446863]]

{color:#d04437}PDS 1{color} [[tests 0 Exit Code 
|https://ci.ignite.apache.org/viewLog.html?buildId=5446855]]

{color:#d04437}Cache 5{color} [[tests 
1|https://ci.ignite.apache.org/viewLog.html?buildId=5446842]]
* IgniteCacheWithIndexingTestSuite: 
GridCacheSqlDdlClusterReadOnlyModeTest.testAlterTableAllowed - Test has low 
fail rate in base branch 0,0% and is not flaky

{color:#d04437}Streamers{color} [[tests 
1|https://ci.ignite.apache.org/viewLog.html?buildId=5446805]]
* IgniteKafkaStreamerSelfTestSuite: 
IgniteSinkConnectorTest.testSinkPutsWithTransformation - Test has low fail rate 
in base branch 1,3% and is not flaky

{color:#d04437}Queries 2{color} [[tests 
1|https://ci.ignite.apache.org/viewLog.html?buildId=5446802]]
* IgniteBinaryCacheQueryTestSuite2: 
DynamicEnableIndexingBasicSelfTest.testEnableDynamicIndexing[hasNear=false,nodeIdx=2,cacheMode=REPLICATED,atomicityMode=ATOMIC]
 - Test has low fail rate in base branch 0,0% and is not flaky

{color:#d04437}Cache 1{color} [[tests 
11|https://ci.ignite.apache.org/viewLog.html?buildId=5446838]]
* IgniteBinaryCacheTestSuite: GridCacheStopSelfTest.testStopMultithreaded - 
Test has low fail rate in base branch 0,0% and is not flaky
* IgniteBinaryCacheTestSuite: 
GridCacheStopSelfTest.testStopImplicitTransactions - Test has low fail rate in 
base branch 0,0% and is not flaky
* IgniteBinaryCacheTestSuite: 
GridCacheStopSelfTest.testStopExplicitTransactionsReplicated - Test has low 
fail rate in base branch 0,0% and is not flaky
* IgniteBinaryCacheTestSuite: 
GridCacheStopSelfTest.testStopExplicitTransactions - Test has low fail rate in 
base branch 0,0% and is not flaky
* IgniteBinaryCacheTestSuite: 
GridCacheStopSelfTest.testStopImplicitTransactionsReplicated - Test has low 
fail rate in base branch 0,0% and is not flaky
* IgniteBinaryCacheTestSuite: GridCacheStopSelfTest.testStopAtomic - Test has 
low fail rate in base branch 0,0% and is not flaky
* IgniteBinaryCacheTestSuite: 
GridCacheStopSelfTest.testStopImplicitMvccTransactionsReplicated - Test has low 
fail rate in base branch 0,0% and is not flaky
* IgniteBinaryCacheTestSuite: 
GridCacheStopSelfTest.testStopImplicitMvccTransactions - Test has low fail rate 
in base branch 0,0% and is not flaky
* IgniteBinaryCacheTestSuite: internal.IgniteInternalCacheRemoveTest - History 
for base branch is absent.
* IgniteBinaryCacheTestSuite: cache.GridCacheKeyCheckNearEnabledSelfTest - 
History for base branch is absent.
* IgniteBinaryCacheTestSuite: cache.GridCacheKeyCheckSelfTest - History for 
base branch is absent.
... and 0 tests blockers

{color:#d04437}Cache 8{color} [[tests 
1|https://ci.ignite.apache.org/viewLog.html?buildId=5446845]]
* IgniteCacheTestSuite8: 
GridCacheAtomicPartitionedTckMetricsSelfTestImpl.testGetMetricsDisable - Test 
has low fail rate in base branch 0,0% and is not flaky

{color:#d04437}MVCC Cache 1{color} [[tests 
1|https://ci.ignite.apache.org/viewLog.html?buildId=5446873]]
* IgniteCacheMvccTestSuite1: CacheFutureExceptionSelfTest.testAsyncCacheFuture 
- Test has low fail rate in base branch 0,0% and is not flaky

{panel}
{panel:title=Branch: [pull/8004/head] Base: [master] : New Tests 
(20)|borderStyle=dashed|borderColor=#ccc|titleBGColor=#F7D6C1}
{color:#8b}PDS (Indexing){color} [tests 4]
* {color:#013220}IgnitePdsWithIndexingCoreTestSuite: 
IgniteWalRebalanceTest.testSwitchHistoricalRebalanceToFullAndClientJoin - 
PASSED{color}
* {color:#013220}IgnitePdsWithIndexingCoreTestSuite: 
IgniteWalRebalanceTest.testMultipleNodesFailHistoricalRebalance - PASSED{color}
* {color:#013220}IgnitePdsWithIndexingCoreTestSuite: 
IgniteWalRebalanceTest.testSwitchHistoricalRebalanceToFullDueToFailOnCreatingWalIterator
 - PASSED{color}
* {color:#013220}IgnitePdsWithIndexingCoreTestSuite: 
IgniteWalRebalanceTest.testSwitchHistoricalRebalanceToFullWhileIteratingOverWAL 
- PASSED{color}

{color:#8b}Platform .NET (Long Running){color} [tests 3]
* {color:#013220}exe: 
CacheAbstractTransactionalTest.TestTransactionScopeWithSerializableIsolationLocksKeysOnRead
 - PASSED{color}
* {color:#013220}exe: 
CacheAbstractTransactionalTest.TestTransactionScopeWithSerializableIsolationLocksKeysOnRead
 - PASSED{color}
* {color:#013220}exe: 
CacheAbstractTransactionalTest.TestTransactionScopeWithSerializableIsolationLocksKeysOnRead
 - PASSED{color}

{color:#8b}Platform .NET{color} [tests 1]
* {color:#013220}exe: 

[jira] [Commented] (IGNITE-13214) .NET different behavior when using TransactionScope and ITransactions.Start

2020-07-07 Thread Sergey Stronchinskiy (Jira)


[ 
https://issues.apache.org/jira/browse/IGNITE-13214?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17153080#comment-17153080
 ] 

Sergey Stronchinskiy commented on IGNITE-13214:
---

[~ptupitsyn]  Sure, please see my comments on GitHub.

> .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
>Assignee: Pavel Tupitsyn
>Priority: Critical
>  Labels: .NET, transactions
> Fix For: 2.9
>
>  Time Spent: 20m
>  Remaining Estimate: 0h
>
> 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:
> {code:c#}
> using (var tx = 
> Transactions.TxStart(TransactionConcurrency.Optimistic, 
> TransactionIsolation.Serializable))
> {
> var before = cache.Get(1);
> barier.SignalAndWait();
> barier.SignalAndWait();
> tx.Commit();
> }
> {code}
> {noformat}
> Apache.Ignite.Core.Transactions.TransactionOptimisticException : Failed to 
> prepare transaction (lock conflict): GridNearTxLocal 
> [mappings=IgniteTxMappingsImpl [], 
> {noformat}
> _Cache_ is _IIgnite.Cache()_  and _Transactions_ is 
> _IIgnite.GetTransactions()_



--
This message was sent by Atlassian Jira
(v8.3.4#803005)