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

Reply via email to