[
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)