[ https://issues.apache.org/jira/browse/IGNITE-21998?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17842950#comment-17842950 ]
Pavel Tupitsyn commented on IGNITE-21998: ----------------------------------------- Fixed by IGNITE-20416. 100% stable in *main* for the last 83 runs. > .NET: TestSchemaUpdateWhileStreaming is flaky > --------------------------------------------- > > Key: IGNITE-21998 > URL: https://issues.apache.org/jira/browse/IGNITE-21998 > Project: Ignite > Issue Type: Bug > Components: thin client > Affects Versions: 3.0.0-beta1 > Reporter: Pavel Tupitsyn > Assignee: Pavel Tupitsyn > Priority: Major > Labels: .NET, ignite-3 > Fix For: 3.0.0-beta2 > > > https://ci.ignite.apache.org/test/4007460749051703227?currentProjectId=ApacheIgnite3xGradle_Test&branch=%3Cdefault%3E&expandTestHistoryChartSection=true > Fails due to a 15s timeout or throws an exception: > {code} > Apache.Ignite.IgniteException : Table schema was updated after the > transaction was started [table=108, startSchema=1, operationSchema=2] > ----> Apache.Ignite.IgniteException : > org.apache.ignite.internal.table.distributed.replicator.IncompatibleSchemaException: > IGN-TX-12 TraceId:e32316b9-eb22-49b2-a45b-01ecb067da4f Table schema was > updated after the transaction was started [table=108, startSchema=1, > operationSchema=2] > at > org.apache.ignite.internal.table.distributed.replicator.SchemaCompatibilityValidator.failIfSchemaChangedAfterTxStart(SchemaCompatibilityValidator.java:238) > at > org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.failIfSchemaChangedSinceTxStart(PartitionReplicaListener.java:3788) > at > org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.lambda$validateWriteAgainstSchemaAfterTakingLocks$215(PartitionReplicaListener.java:3713) > at > java.base/java.util.concurrent.CompletableFuture.uniApplyNow(CompletableFuture.java:680) > at > java.base/java.util.concurrent.CompletableFuture.uniApplyStage(CompletableFuture.java:658) > at > java.base/java.util.concurrent.CompletableFuture.thenApply(CompletableFuture.java:2094) > at > org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.validateWriteAgainstSchemaAfterTakingLocks(PartitionReplicaListener.java:3712) > at > org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.lambda$processMultiEntryAction$106(PartitionReplicaListener.java:2377) > at > java.base/java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:1106) > at > java.base/java.util.concurrent.CompletableFuture.thenCompose(CompletableFuture.java:2235) > at > org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.processMultiEntryAction(PartitionReplicaListener.java:2349) > at > org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.lambda$processOperationRequest$11(PartitionReplicaListener.java:644) > at > org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.appendTxCommand(PartitionReplicaListener.java:1926) > at > org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.processOperationRequest(PartitionReplicaListener.java:644) > at > org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.processOperationRequestWithTxRwCounter(PartitionReplicaListener.java:3923) > at > org.apache.ignite.internal.table.distributed.replicator.PartitionReplicaListener.lambda$processRequest$5(PartitionReplicaListener.java:440) > at > java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java:1072) > at > java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:506) > at > java.base/java.util.concurrent.CompletableFuture.postFire(CompletableFuture.java:610) > at > java.base/java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:649) > at > java.base/java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:478) > at > java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) > at > java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) > at java.base/java.lang.Thread.run(Thread.java:834) > 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 > 626 > 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 > 213 > 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 > 509 > at > Apache.Ignite.Internal.Table.DataStreamer.<>c__DisplayClass1_0`1.<<StreamDataAsync>g__SendAndDisposeBufAsync|5>d.MoveNext() > in > /opt/buildagent/work/b8d4df1365f1f1e5/modules/platforms/dotnet/Apache.Ignite/Internal/Table/DataStreamer.cs:line > 312 > --- End of stack trace from previous location --- > at > Apache.Ignite.Internal.Table.DataStreamer.<>c__DisplayClass1_0`1.<<StreamDataAsync>g__SendAsync|4>d.MoveNext() > in > /opt/buildagent/work/b8d4df1365f1f1e5/modules/platforms/dotnet/Apache.Ignite/Internal/Table/DataStreamer.cs:line > 267 > --- End of stack trace from previous location --- > at > Apache.Ignite.Internal.Table.DataStreamer.StreamDataAsync[T](IAsyncEnumerable`1 > data, Table table, RecordSerializer`1 writer, DataStreamerOptions options, > CancellationToken cancellationToken) in > /opt/buildagent/work/b8d4df1365f1f1e5/modules/platforms/dotnet/Apache.Ignite/Internal/Table/DataStreamer.cs:line > 114 > at > Apache.Ignite.Internal.Table.DataStreamer.StreamDataAsync[T](IAsyncEnumerable`1 > data, Table table, RecordSerializer`1 writer, DataStreamerOptions options, > CancellationToken cancellationToken) in > /opt/buildagent/work/b8d4df1365f1f1e5/modules/platforms/dotnet/Apache.Ignite/Internal/Table/DataStreamer.cs:line > 105 > 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 > 300 > 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 > 349 > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)