[ 
https://issues.apache.org/jira/browse/IGNITE-24612?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Pavel Tupitsyn updated IGNITE-24612:
------------------------------------
    Release Note: .NET: Fixed race condition on schema update in data streamer.

> .NET: Thin 3.0: TestSchemaUpdateWhileStreaming is flaky
> -------------------------------------------------------
>
>                 Key: IGNITE-24612
>                 URL: https://issues.apache.org/jira/browse/IGNITE-24612
>             Project: Ignite
>          Issue Type: Bug
>          Components: platforms, streaming, thin client
>    Affects Versions: 3.0
>            Reporter: Pavel Tupitsyn
>            Assignee: Pavel Tupitsyn
>            Priority: Major
>              Labels: .NET, ignite-3
>             Fix For: 3.1
>
>          Time Spent: 50m
>  Remaining Estimate: 0h
>
> {code}
> Apache.Ignite.Table.DataStreamerException : Exception of type 
> 'Apache.Ignite.MarshallerException' was thrown.
>   ----> Apache.Ignite.MarshallerException : Exception of type 
> 'Apache.Ignite.MarshallerException' was thrown.
>   ----> Apache.Ignite.IgniteException : 
> org.apache.ignite.lang.MarshallerException: IGN-MARSHALLING-1 
> TraceId:b466dc18-4fea-48c1-b966-8ac2769ec49b
>   at 
> org.apache.ignite.internal.schema.marshaller.TupleMarshallerImpl.marshal(TupleMarshallerImpl.java:123)
>   at 
> org.apache.ignite.internal.table.RecordBinaryViewImpl.marshal(RecordBinaryViewImpl.java:436)
>   at 
> org.apache.ignite.internal.table.RecordBinaryViewImpl.mapToBinary(RecordBinaryViewImpl.java:545)
>   at 
> org.apache.ignite.internal.table.RecordBinaryViewImpl.lambda$updateAll$35(RecordBinaryViewImpl.java:614)
>   at 
> org.apache.ignite.internal.table.AbstractTableView.lambda$withSchemaSync$1(AbstractTableView.java:144)
>   at 
> java.base/java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:1187)
>   at 
> java.base/java.util.concurrent.CompletableFuture.thenCompose(CompletableFuture.java:2309)
>   at 
> org.apache.ignite.internal.table.AbstractTableView.withSchemaSync(AbstractTableView.java:144)
>   at 
> org.apache.ignite.internal.table.AbstractTableView.withSchemaSync(AbstractTableView.java:134)
>   at 
> org.apache.ignite.internal.table.AbstractTableView.doOperation(AbstractTableView.java:112)
>   at 
> org.apache.ignite.internal.table.RecordBinaryViewImpl.updateAll(RecordBinaryViewImpl.java:613)
>   at 
> org.apache.ignite.client.handler.requests.table.ClientStreamerBatchSendRequest.lambda$process$1(ClientStreamerBatchSendRequest.java:59)
>   at 
> java.base/java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:1187)
>   at 
> java.base/java.util.concurrent.CompletableFuture.thenCompose(CompletableFuture.java:2309)
>   at 
> org.apache.ignite.client.handler.requests.table.ClientStreamerBatchSendRequest.lambda$process$2(ClientStreamerBatchSendRequest.java:56)
>   at 
> java.base/java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:1187)
>   at 
> java.base/java.util.concurrent.CompletableFuture.thenCompose(CompletableFuture.java:2309)
>   at 
> org.apache.ignite.client.handler.requests.table.ClientStreamerBatchSendRequest.process(ClientStreamerBatchSendRequest.java:53)
>   at 
> org.apache.ignite.client.handler.ClientInboundMessageHandler.processOperation(ClientInboundMessageHandler.java:844)
>   at 
> org.apache.ignite.client.handler.ClientInboundMessageHandler.processOperationInternal(ClientInboundMessageHandler.java:897)
>   at 
> org.apache.ignite.client.handler.ClientInboundMessageHandler.lambda$processOperation$4(ClientInboundMessageHandler.java:633)
>   at 
> java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
>   at 
> java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
>   at java.base/java.lang.Thread.run(Thread.java:833)
> Caused by: java.lang.IndexOutOfBoundsException
>   at java.base/java.nio.Buffer.checkIndex(Buffer.java:743)
>   at java.base/java.nio.HeapByteBuffer.get(HeapByteBuffer.java:169)
>   at 
> org.apache.ignite.internal.binarytuple.BinaryTupleParser.longValue(BinaryTupleParser.java:245)
>   at 
> org.apache.ignite.internal.binarytuple.BinaryTupleReader.longValue(BinaryTupleReader.java:183)
>   at 
> org.apache.ignite.internal.client.table.MutableTupleBinaryTupleAdapter.object(MutableTupleBinaryTupleAdapter.java:511)
>   at 
> org.apache.ignite.internal.client.table.MutableTupleBinaryTupleAdapter.value(MutableTupleBinaryTupleAdapter.java:146)
>   at 
> org.apache.ignite.internal.schema.marshaller.TupleMarshallerImpl.validateTuple(TupleMarshallerImpl.java:326)
>   at 
> org.apache.ignite.internal.schema.marshaller.TupleMarshallerImpl.marshal(TupleMarshallerImpl.java:101)
>   ... 23 more
>    at 
> Apache.Ignite.Internal.Table.DataStreamer.StreamDataAsync[T](IAsyncEnumerable`1
>  data, Table table, IRecordSerializerHandler`1 writer, DataStreamerOptions 
> options, CancellationToken cancellationToken) in 
> /opt/buildagent/work/b8d4df1365f1f1e5/modules/platforms/dotnet/Apache.Ignite/Internal/Table/DataStreamer.cs:line
>  163
>    at 
> Apache.Ignite.Internal.Table.RecordView`1.StreamDataAsync(IAsyncEnumerable`1 
> data, DataStreamerOptions options, CancellationToken cancellationToken) in 
> /opt/buildagent/work/b8d4df1365f1f1e5/modules/platforms/dotnet/Apache.Ignite/Internal/Table/RecordView.cs:line
>  303
>    at 
> Apache.Ignite.Tests.Table.SchemaSynchronizationTest.TestSchemaUpdateWhileStreaming(Boolean
>  insertNewColumn, Boolean withRemove) in 
> /opt/buildagent/work/b8d4df1365f1f1e5/modules/platforms/dotnet/Apache.Ignite.Tests/Table/SchemaSynchronizationTest.cs:line
>  355
>    at 
> NUnit.Framework.Internal.TaskAwaitAdapter.GenericAdapter`1.BlockUntilCompleted()
>    at 
> NUnit.Framework.Internal.MessagePumpStrategy.NoMessagePumpStrategy.WaitForCompletion(AwaitAdapter
>  awaiter)
>    at NUnit.Framework.Internal.AsyncToSyncAdapter.Await(Func`1 invoke)
>    at 
> NUnit.Framework.Internal.Commands.TestMethodCommand.RunTestMethod(TestExecutionContext
>  context)
>    at 
> NUnit.Framework.Internal.Commands.TestMethodCommand.Execute(TestExecutionContext
>  context)
>    at 
> NUnit.Framework.Internal.Commands.BeforeAndAfterTestCommand.<>c__DisplayClass1_0.<Execute>b__0()
>    at 
> NUnit.Framework.Internal.Commands.DelegatingTestCommand.RunTestMethodInThreadAbortSafeZone(TestExecutionContext
>  context, Action action)
> --MarshallerException
>    at Apache.Ignite.Internal.ClientSocket.DoOutInOpAsyncInternal(ClientOp 
> clientOp, PooledArrayBuffer request, Boolean expectNotifications) in 
> /opt/buildagent/work/b8d4df1365f1f1e5/modules/platforms/dotnet/Apache.Ignite/Internal/ClientSocket.cs:line
>  665
>    at 
> Apache.Ignite.Internal.ClientFailoverSocket.DoOutInOpAndGetSocketAsync(ClientOp
>  clientOp, Transaction tx, PooledArrayBuffer request, PreferredNode 
> preferredNode, IRetryPolicy retryPolicyOverride, Boolean expectNotifications) 
> in 
> /opt/buildagent/work/b8d4df1365f1f1e5/modules/platforms/dotnet/Apache.Ignite/Internal/ClientFailoverSocket.cs:line
>  219
>    at Apache.Ignite.Internal.Table.DataStreamer.SendBatchAsync(Table table, 
> PooledArrayBuffer buf, Int32 count, PreferredNode preferredNode, IRetryPolicy 
> retryPolicy) in 
> /opt/buildagent/work/b8d4df1365f1f1e5/modules/platforms/dotnet/Apache.Ignite/Internal/Table/DataStreamer.cs:line
>  552
>    at 
> Apache.Ignite.Internal.Table.DataStreamer.<>c__DisplayClass0_0`1.<<StreamDataAsync>g__SendAndDisposeBufAsync|5>d.MoveNext()
>  in 
> /opt/buildagent/work/b8d4df1365f1f1e5/modules/platforms/dotnet/Apache.Ignite/Internal/Table/DataStreamer.cs:line
>  336
> --- End of stack trace from previous location ---
>    at 
> Apache.Ignite.Internal.Table.DataStreamer.<>c__DisplayClass0_0`1.<<StreamDataAsync>g__Drain|7>d.MoveNext()
>  in 
> /opt/buildagent/work/b8d4df1365f1f1e5/modules/platforms/dotnet/Apache.Ignite/Internal/Table/DataStreamer.cs:line
>  397
> --- End of stack trace from previous location ---
>    at 
> Apache.Ignite.Internal.Table.DataStreamer.StreamDataAsync[T](IAsyncEnumerable`1
>  data, Table table, IRecordSerializerHandler`1 writer, DataStreamerOptions 
> options, CancellationToken cancellationToken) in 
> /opt/buildagent/work/b8d4df1365f1f1e5/modules/platforms/dotnet/Apache.Ignite/Internal/Table/DataStreamer.cs:line
>  119
> {code}
> https://ci.ignite.apache.org/test/5976453789854356575?currentProjectId=ApacheIgnite3xGradle_Test



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to