[ https://issues.apache.org/jira/browse/IGNITE-26365?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Vadim Kolodin updated IGNITE-26365: ----------------------------------- Description: *Description* https://issues.apache.org/jira/browse/IGNITE-24458 introduced new test org.apache.ignite.internal.ItApiCompatibilityTest#testApiModule, which found incompatible changes of version `ignite-api-3.1.0-SNAPSHOT` with the previous version `ignite-api-3.0.0` (full report in attachment). All incompatibilities in test exclusions for now. {code:java} @ApiCompatibilityTest( newVersion = "3.1.0-SNAPSHOT", oldVersions = "3.0.0", exclude = "" + "org.apache.ignite.Ignite#clusterNodes();" // deprecated + "org.apache.ignite.Ignite#clusterNodesAsync();" // deprecated + "org.apache.ignite.catalog.IgniteCatalog#dropTable(java.lang.String);" // method abstract now default + "org.apache.ignite.catalog.IgniteCatalog#dropTableAsync(java.lang.String);" // method abstract now default + "org.apache.ignite.catalog.IgniteCatalog#tableDefinition(java.lang.String);" // method abstract now default + "org.apache.ignite.catalog.IgniteCatalog#tableDefinitionAsync(java.lang.String);" // method abstract now default + "org.apache.ignite.compute.ColocatedJobTarget;" // method return type changed + "org.apache.ignite.compute.TableJobTarget;" // method return type changed + "org.apache.ignite.lang.ColumnNotFoundException;" // deprecated + "org.apache.ignite.lang.IndexAlreadyExistsException;" // deprecated + "org.apache.ignite.lang.IndexNotFoundException;" // deprecated + "org.apache.ignite.lang.TableAlreadyExistsException;" // deprecated + "org.apache.ignite.lang.TableNotFoundException;" // constructor removed + "org.apache.ignite.lang.util.IgniteNameUtils;" // methods removed, less accessible + "org.apache.ignite.sql.IgniteSql;" // method abstract now default + "org.apache.ignite.table.DataStreamerTarget;" // method abstract now default + "org.apache.ignite.table.IgniteTables;" // method abstract now default + "org.apache.ignite.table.QualifiedName;" // now final, serializable + "org.apache.ignite.table.Table;" // method abstract now default ) void testApiModule(CompatibilityOutput output) {} {code} *Motivation* Maintain compilation compatibility. *Definition of done* Resolve incompatibilities or add explanation per exclusion. was: https://issues.apache.org/jira/browse/IGNITE-24458 introduced new test org.apache.ignite.internal.ItApiCompatibilityTest#testApiModule, which found incompatible changes of version `ignite-api-3.1.0-SNAPSHOT` with the previous version `ignite-api-3.0.0` (full report in attachment). All incompatibilities in test exclusions for now. {code:java} @ApiCompatibilityTest( newVersion = "3.1.0-SNAPSHOT", oldVersions = "3.0.0", exclude = "" + "org.apache.ignite.Ignite#clusterNodes();" // deprecated + "org.apache.ignite.Ignite#clusterNodesAsync();" // deprecated + "org.apache.ignite.catalog.IgniteCatalog#dropTable(java.lang.String);" // method abstract now default + "org.apache.ignite.catalog.IgniteCatalog#dropTableAsync(java.lang.String);" // method abstract now default + "org.apache.ignite.catalog.IgniteCatalog#tableDefinition(java.lang.String);" // method abstract now default + "org.apache.ignite.catalog.IgniteCatalog#tableDefinitionAsync(java.lang.String);" // method abstract now default + "org.apache.ignite.catalog.annotations.Zone#dataNodesAutoAdjust();" // removed + "org.apache.ignite.catalog.definitions.ZoneDefinition#dataNodesAutoAdjust();" // removed + "org.apache.ignite.catalog.definitions.ZoneDefinition$Builder#dataNodesAutoAdjust(java.lang.Integer);" // removed + "org.apache.ignite.compute.ColocatedJobTarget;" // method return type changed + "org.apache.ignite.compute.TableJobTarget;" // method return type changed + "org.apache.ignite.lang.ColumnNotFoundException;" // deprecated + "org.apache.ignite.lang.IndexAlreadyExistsException;" // deprecated + "org.apache.ignite.lang.IndexNotFoundException;" // deprecated + "org.apache.ignite.lang.TableAlreadyExistsException;" // deprecated + "org.apache.ignite.lang.TableNotFoundException;" // constructor removed + "org.apache.ignite.lang.util.IgniteNameUtils;" // methods removed, less accessible + "org.apache.ignite.sql.IgniteSql;" // method abstract now default + "org.apache.ignite.table.DataStreamerTarget;" // method abstract now default + "org.apache.ignite.table.IgniteTables;" // method abstract now default + "org.apache.ignite.table.QualifiedName;" // now final, serializable + "org.apache.ignite.table.Table;" // method abstract now default ) void testApiModule(CompatibilityOutput output) {} {code} Need to resolve incompatibilities or add explanation per exclusion. > Java API compatibility resolve exclusions > ----------------------------------------- > > Key: IGNITE-26365 > URL: https://issues.apache.org/jira/browse/IGNITE-26365 > Project: Ignite > Issue Type: Improvement > Components: platforms > Reporter: Vadim Kolodin > Priority: Major > Labels: compatibility, ignite-3 > Attachments: Compatibility Report.md > > > *Description* > https://issues.apache.org/jira/browse/IGNITE-24458 introduced new test > org.apache.ignite.internal.ItApiCompatibilityTest#testApiModule, which found > incompatible changes of version `ignite-api-3.1.0-SNAPSHOT` with the previous > version `ignite-api-3.0.0` (full report in attachment). > All incompatibilities in test exclusions for now. > {code:java} > @ApiCompatibilityTest( > newVersion = "3.1.0-SNAPSHOT", > oldVersions = "3.0.0", > exclude = "" > + "org.apache.ignite.Ignite#clusterNodes();" // deprecated > + "org.apache.ignite.Ignite#clusterNodesAsync();" // > deprecated > + > "org.apache.ignite.catalog.IgniteCatalog#dropTable(java.lang.String);" // > method abstract now default > + > "org.apache.ignite.catalog.IgniteCatalog#dropTableAsync(java.lang.String);" > // method abstract now default > + > "org.apache.ignite.catalog.IgniteCatalog#tableDefinition(java.lang.String);" > // method abstract now default > + > "org.apache.ignite.catalog.IgniteCatalog#tableDefinitionAsync(java.lang.String);" > // method abstract now default > + "org.apache.ignite.compute.ColocatedJobTarget;" // method > return type changed > + "org.apache.ignite.compute.TableJobTarget;" // method > return type changed > + "org.apache.ignite.lang.ColumnNotFoundException;" // > deprecated > + "org.apache.ignite.lang.IndexAlreadyExistsException;" // > deprecated > + "org.apache.ignite.lang.IndexNotFoundException;" // > deprecated > + "org.apache.ignite.lang.TableAlreadyExistsException;" // > deprecated > + "org.apache.ignite.lang.TableNotFoundException;" // > constructor removed > + "org.apache.ignite.lang.util.IgniteNameUtils;" // methods > removed, less accessible > + "org.apache.ignite.sql.IgniteSql;" // method abstract now > default > + "org.apache.ignite.table.DataStreamerTarget;" // method > abstract now default > + "org.apache.ignite.table.IgniteTables;" // method abstract > now default > + "org.apache.ignite.table.QualifiedName;" // now final, > serializable > + "org.apache.ignite.table.Table;" // method abstract now > default > ) > void testApiModule(CompatibilityOutput output) {} {code} > > *Motivation* > Maintain compilation compatibility. > > *Definition of done* > Resolve incompatibilities or add explanation per exclusion. -- This message was sent by Atlassian Jira (v8.20.10#820010)