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

Roman Puchkovskiy updated IGNITE-23871:
---------------------------------------
    Description: 
Apache.Ignite.Tests.Table.SchemaSynchronizationTest.TestSchemaUpdateWhileStreaming(True,True)
 failed in 
[https://ci.ignite.apache.org/buildConfiguration/ApacheIgnite3xGradle_Test_RunAllTests/8670063?hideTestsFromDependencies=false&hideProblemsFromDependencies=false&expandBuildTestsSection=true&expandBuildDeploymentsSection=false&expandCode+Inspection=true&expandBuildProblemsSection=true&expandBuildChangesSection=true]
 with the following exception:

Apache.Ignite.Table.DataStreamerException : Cannot find table version 2 in 
table descriptor CatalogTableDescriptor [zoneId=0, schemaId=1, pkIndexId=122, 
columns=ArrayList [CatalogTableColumnDescriptor [name=KEY, type=INT64, 
nullable=false, length=1, precision=0, scale=0, 
defaultValue=org.apache.ignite.internal.catalog.commands.DefaultValue$ConstantValue@d7d2d7b2]],
 primaryKeyColumns=ArrayList [KEY], colocationColumns=ArrayList [KEY], 
storageProfile=default, super=CatalogObjectDescriptor [id=121, 
name=TESTSCHEMAUPDATEWHILESTREAMING_TRUE_TRUE, type=TABLE, updateToken=1165]]

caused by

Caused by: java.lang.AssertionError: Cannot find table version 2 in table 
descriptor CatalogTableDescriptor [zoneId=0, schemaId=1, pkIndexId=122, 
columns=ArrayList [CatalogTableColumnDescriptor [name=KEY, type=INT64, 
nullable=false, length=1, precision=0, scale=0, 
defaultValue=org.apache.ignite.internal.catalog.commands.DefaultValue$ConstantValue@d7d2d7b2]],
 primaryKeyColumns=ArrayList [KEY], colocationColumns=ArrayList [KEY], 
storageProfile=default, super=CatalogObjectDescriptor [id=121, 
name=TESTSCHEMAUPDATEWHILESTREAMING_TRUE_TRUE, type=TABLE, updateToken=1165]] 
at 
org.apache.ignite.internal.schema.catalog.CatalogToSchemaDescriptorConverter.convert(CatalogToSchemaDescriptorConverter.java:151)

 

Looks like the problem is that, if a server node does not contain information 
about a certain table version N, but thin client requests this version, an 
assertion happens in SchemaRegistry#schemaAsync(int). This method should not 
fail in this case, instead it must return a future that completes when the node 
gets table version N.

> TestSchemaUpdateWhileStreaming is flaky
> ---------------------------------------
>
>                 Key: IGNITE-23871
>                 URL: https://issues.apache.org/jira/browse/IGNITE-23871
>             Project: Ignite
>          Issue Type: Bug
>            Reporter: Roman Puchkovskiy
>            Assignee: Roman Puchkovskiy
>            Priority: Major
>              Labels: ignite-3
>
> Apache.Ignite.Tests.Table.SchemaSynchronizationTest.TestSchemaUpdateWhileStreaming(True,True)
>  failed in 
> [https://ci.ignite.apache.org/buildConfiguration/ApacheIgnite3xGradle_Test_RunAllTests/8670063?hideTestsFromDependencies=false&hideProblemsFromDependencies=false&expandBuildTestsSection=true&expandBuildDeploymentsSection=false&expandCode+Inspection=true&expandBuildProblemsSection=true&expandBuildChangesSection=true]
>  with the following exception:
> Apache.Ignite.Table.DataStreamerException : Cannot find table version 2 in 
> table descriptor CatalogTableDescriptor [zoneId=0, schemaId=1, pkIndexId=122, 
> columns=ArrayList [CatalogTableColumnDescriptor [name=KEY, type=INT64, 
> nullable=false, length=1, precision=0, scale=0, 
> defaultValue=org.apache.ignite.internal.catalog.commands.DefaultValue$ConstantValue@d7d2d7b2]],
>  primaryKeyColumns=ArrayList [KEY], colocationColumns=ArrayList [KEY], 
> storageProfile=default, super=CatalogObjectDescriptor [id=121, 
> name=TESTSCHEMAUPDATEWHILESTREAMING_TRUE_TRUE, type=TABLE, updateToken=1165]]
> caused by
> Caused by: java.lang.AssertionError: Cannot find table version 2 in table 
> descriptor CatalogTableDescriptor [zoneId=0, schemaId=1, pkIndexId=122, 
> columns=ArrayList [CatalogTableColumnDescriptor [name=KEY, type=INT64, 
> nullable=false, length=1, precision=0, scale=0, 
> defaultValue=org.apache.ignite.internal.catalog.commands.DefaultValue$ConstantValue@d7d2d7b2]],
>  primaryKeyColumns=ArrayList [KEY], colocationColumns=ArrayList [KEY], 
> storageProfile=default, super=CatalogObjectDescriptor [id=121, 
> name=TESTSCHEMAUPDATEWHILESTREAMING_TRUE_TRUE, type=TABLE, updateToken=1165]] 
> at 
> org.apache.ignite.internal.schema.catalog.CatalogToSchemaDescriptorConverter.convert(CatalogToSchemaDescriptorConverter.java:151)
>  
> Looks like the problem is that, if a server node does not contain information 
> about a certain table version N, but thin client requests this version, an 
> assertion happens in SchemaRegistry#schemaAsync(int). This method should not 
> fail in this case, instead it must return a future that completes when the 
> node gets table version N.



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

Reply via email to