Hi Николай, .NET test in question (TestTxStateAndExceptions) does not do any multithreading, everything is called from a single thread.
I see that the latest .NET run of your pull request on TeamCity finished successfully: http://ci.ignite.apache.org/viewLog.html?buildId=738277 Do you still have a problem with this? If yes, how can I reproduce it? Can you prepare a branch where the test fails, so I can run it locally? Thanks, Pavel On Tue, Jul 25, 2017 at 4:47 PM, Николай Ижиков <nizhikov....@gmail.com> wrote: > Hello, Igniters. > > I working on issue https://issues.apache.org/jira/browse/IGNITE-5712 > I found that .Net client perform transaction operation(`tx.close()`) in > thread that not owns transaction. > > So I can't include checks for threadId in my pull request. > > Is it a bug or a desirable behabiour? > > With my new check I got following stack trace: > > Check: > > `assert (threadId() == Thread.currentThread().getId());` > > Exception: > > Test(s) failed. System.AggregateException : One or more errors occurred. > ----> Apache.Ignite.Core.Common.IgniteException : Java exception occurred > [class=java.lang.AssertionError, message=] ----> > Apache.Ignite.Core.Common.JavaException : java.lang.AssertionError at > org.apache.ignite.internal.processors.cache.transactions. > TransactionProxyImpl.enter0(TransactionProxyImpl.java:113) > at > org.apache.ignite.internal.processors.cache.transactions. > TransactionProxyImpl.enter(TransactionProxyImpl.java:106) > at > org.apache.ignite.internal.processors.cache.transactions. > TransactionProxyImpl.close(TransactionProxyImpl.java:317) > at > org.apache.ignite.internal.processors.platform.transactions. > PlatformTransactions.txClose(PlatformTransactions.java:136) > at > org.apache.ignite.internal.processors.platform.transactions. > PlatformTransactions.processInLongOutLong(PlatformTransactions.java:178) > at > org.apache.ignite.internal.processors.platform.PlatformTargetProxyImpl. > inLongOutLong(PlatformTargetProxyImpl.java:53) > at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean > includeTaskCanceledExceptions) at System.Threading.Tasks.Task.Wait(Int32 > millisecondsTimeout, CancellationToken cancellationToken) at > System.Threading.Tasks.Task.Wait() at > Apache.Ignite.Core.Tests.Cache.CacheAbstractTransactionalTest > .TestTxStateAndExceptions() > in > c:\BuildAgent\work\820be461cd64b574\modules\platforms\dotnet\Apache. > Ignite.Core.Tests\Cache\CacheAbstractTransactionalTest.cs:line > 510 --IgniteException at > Apache.Ignite.Core.Impl.Unmanaged.UnmanagedCallbacks.Error(Void* target, > Int32 errType, SByte* errClsChars, Int32 errClsCharsLen, SByte* > errMsgChars, Int32 errMsgCharsLen, SByte* stackTraceChars, Int32 > stackTraceCharsLen, Void* errData, Int32 errDataLen) in > c:\BuildAgent\work\820be461cd64b574\modules\platforms\dotnet\Apache. > Ignite.Core\Impl\Unmanaged\UnmanagedCallbacks.cs:line > 1066 at > Apache.Ignite.Core.Impl.Unmanaged.IgniteJniNativeMethods. > TargetInLongOutLong(Void* > ctx, Void* target, Int32 opType, Int64 val) at > Apache.Ignite.Core.Impl.Unmanaged.UnmanagedUtils.TargetInLongOutLong( > IUnmanagedTarget > target, Int32 opType, Int64 memPtr) in > c:\BuildAgent\work\820be461cd64b574\modules\platforms\dotnet\Apache. > Ignite.Core\Impl\Unmanaged\UnmanagedUtils.cs:line > 429 at Apache.Ignite.Core.Impl.PlatformTarget.DoOutInOp(Int32 type, Int64 > val) in > c:\BuildAgent\work\820be461cd64b574\modules\platforms\dotnet\Apache. > Ignite.Core\Impl\PlatformTarget.cs:line > 717 at > Apache.Ignite.Core.Impl.Transactions.TransactionsImpl. > TxClose(TransactionImpl > tx) in > c:\BuildAgent\work\820be461cd64b574\modules\platforms\dotnet\Apache. > Ignite.Core\Impl\Transactions\TransactionsImpl.cs:line > 216 at Apache.Ignite.Core.Impl.Transactions.TransactionImpl.Close() in > c:\BuildAgent\work\820be461cd64b574\modules\platforms\dotnet\Apache. > Ignite.Core\Impl\Transactions\TransactionImpl.cs:line > 442 at > Apache.Ignite.Core.Impl.Transactions.TransactionImpl.< > CloseWhenComplete>b__d(Task > x) in > c:\BuildAgent\work\820be461cd64b574\modules\platforms\dotnet\Apache. > Ignite.Core\Impl\Transactions\TransactionImpl.cs:line > 460 at System.Threading.Tasks.Task.Execute() --JavaException ------- > Stderr: ------- Test started: > CacheAbstractTransactionalTest.TestTxStateAndExceptions Test finished: > CacheAbstractTransactionalTest.TestTxStateAndExceptions > -- > Nikolay Izhikov > nizhikov....@gmail.com >