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

Maksim Zhuravkov updated IGNITE-26502:
--------------------------------------
    Description: 
CatalogSerializationCompatibilityTest contains test cases for serialisation of 
catalog object descriptors, but since there are no checks that make adding 
these test cases mandatory, it is possible to add a new object descriptor, ship 
it, and then make incompatible changes to that object (defeating the purpose of 
these compatibility checks).

We can scan the classpath of the catalog module for implementations of 
UpdateEntry and UpdateLogEvent. For each implementation we should check that 
testResources/serialisation_vX / ObjectClassName_X.bin file exists, if there is 
no such file the test should fail that there is no serialisation test for such 
object and we should add one.


  was:
CatalogSerializationCompatibilityTest contains test cases for serialisation of 
catalog object descriptors, but since there are no checks that make adding 
these test cases mandatory, it is possible to add a new object descriptor, ship 
it, and then make incompatible changes to that object (defeating the purpose of 
these compatibility checks).

We can scan the classpath of the catalog module for implementations of 
UpdateEntry and UpdateLogEvent. For each implementation we should check that 
testResources/serialisation_vX / {ClassName}_X.bin file exists, if there is no 
such file the test should fail that there is no serialisation test for such 
object and we should add one.



> Catalog. Improve serialisation compatibility tests to ensure that every 
> object descriptor has a test case
> ---------------------------------------------------------------------------------------------------------
>
>                 Key: IGNITE-26502
>                 URL: https://issues.apache.org/jira/browse/IGNITE-26502
>             Project: Ignite
>          Issue Type: Improvement
>          Components: catalog ai3
>            Reporter: Maksim Zhuravkov
>            Priority: Major
>              Labels: ignite-3
>
> CatalogSerializationCompatibilityTest contains test cases for serialisation 
> of catalog object descriptors, but since there are no checks that make adding 
> these test cases mandatory, it is possible to add a new object descriptor, 
> ship it, and then make incompatible changes to that object (defeating the 
> purpose of these compatibility checks).
> We can scan the classpath of the catalog module for implementations of 
> UpdateEntry and UpdateLogEvent. For each implementation we should check that 
> testResources/serialisation_vX / ObjectClassName_X.bin file exists, if there 
> is no such file the test should fail that there is no serialisation test for 
> such object and we should add one.



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

Reply via email to