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
>

Reply via email to