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