This is an automated email from the ASF dual-hosted git repository.
dongjoon pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/spark.git
The following commit(s) were added to refs/heads/master by this push:
new 6bfb83315e45 [SPARK-54622][SQL] Promote
`RequiresDistributionAndOrdering` and its required interfaces to `Evolving`
6bfb83315e45 is described below
commit 6bfb83315e4596037790020a48d0747c308a317d
Author: Dongjoon Hyun <[email protected]>
AuthorDate: Sun Dec 7 11:03:22 2025 -0800
[SPARK-54622][SQL] Promote `RequiresDistributionAndOrdering` and its
required interfaces to `Evolving`
### What changes were proposed in this pull request?
This PR aims to promote `RequiresDistributionAndOrdering` and its required
interfaces to `Evolving` from `Experimental`.
### Why are the changes needed?
Since Apache Spark 3.2.0, `RequiresDistributionAndOrdering` and its
required interfaces have been served stably over 5 years like the following. In
Apache Spark 4.2.0, we had better promote this to `Evolving` because these are
no longer `Experimental`.
- #30706
| Interface | Description |
| - | - |
| org.apache.spark.sql.connector.distributions.ClusteredDistribution |
Unchange |
| org.apache.spark.sql.connector.distributions.Distribution | Unchange |
| org.apache.spark.sql.connector.distributions.Distributions | Unchange |
| org.apache.spark.sql.connector.distributions.OrderedDistribution |
Unchange |
| org.apache.spark.sql.connector.distributions.UnspecifiedDistribution |
Unchange |
| org.apache.spark.sql.connector.expressions.NullOrdering | No Functional
Change |
| org.apache.spark.sql.connector.expressions.SortDirection | No Functional
Change |
| org.apache.spark.sql.connector.expressions.SortOrder | Stably Evolving |
| org.apache.spark.sql.connector.write.RequiresDistributionAndOrdering |
Stably Evolving |
### Does this PR introduce _any_ user-facing change?
No.
### How was this patch tested?
Pass the CIs and manual review.
### Was this patch authored or co-authored using generative AI tooling?
No.
Closes #53361 from dongjoon-hyun/SPARK-54622.
Authored-by: Dongjoon Hyun <[email protected]>
Signed-off-by: Dongjoon Hyun <[email protected]>
---
.../spark/sql/connector/distributions/ClusteredDistribution.java | 4 ++--
.../org/apache/spark/sql/connector/distributions/Distribution.java | 4 ++--
.../org/apache/spark/sql/connector/distributions/Distributions.java | 4 ++--
.../apache/spark/sql/connector/distributions/OrderedDistribution.java | 4 ++--
.../spark/sql/connector/distributions/UnspecifiedDistribution.java | 4 ++--
.../java/org/apache/spark/sql/connector/expressions/NullOrdering.java | 4 ++--
.../org/apache/spark/sql/connector/expressions/SortDirection.java | 4 ++--
.../java/org/apache/spark/sql/connector/expressions/SortOrder.java | 4 ++--
.../spark/sql/connector/write/RequiresDistributionAndOrdering.java | 4 ++--
9 files changed, 18 insertions(+), 18 deletions(-)
diff --git
a/sql/catalyst/src/main/java/org/apache/spark/sql/connector/distributions/ClusteredDistribution.java
b/sql/catalyst/src/main/java/org/apache/spark/sql/connector/distributions/ClusteredDistribution.java
index dcc3d191461c..0fa77d259e9d 100644
---
a/sql/catalyst/src/main/java/org/apache/spark/sql/connector/distributions/ClusteredDistribution.java
+++
b/sql/catalyst/src/main/java/org/apache/spark/sql/connector/distributions/ClusteredDistribution.java
@@ -17,7 +17,7 @@
package org.apache.spark.sql.connector.distributions;
-import org.apache.spark.annotation.Experimental;
+import org.apache.spark.annotation.Evolving;
import org.apache.spark.sql.connector.expressions.Expression;
/**
@@ -26,7 +26,7 @@ import org.apache.spark.sql.connector.expressions.Expression;
*
* @since 3.2.0
*/
-@Experimental
+@Evolving
public interface ClusteredDistribution extends Distribution {
/**
* Returns clustering expressions.
diff --git
a/sql/catalyst/src/main/java/org/apache/spark/sql/connector/distributions/Distribution.java
b/sql/catalyst/src/main/java/org/apache/spark/sql/connector/distributions/Distribution.java
index 95d68ea2d1ab..0a2f982fce07 100644
---
a/sql/catalyst/src/main/java/org/apache/spark/sql/connector/distributions/Distribution.java
+++
b/sql/catalyst/src/main/java/org/apache/spark/sql/connector/distributions/Distribution.java
@@ -17,12 +17,12 @@
package org.apache.spark.sql.connector.distributions;
-import org.apache.spark.annotation.Experimental;
+import org.apache.spark.annotation.Evolving;
/**
* An interface that defines how data is distributed across partitions.
*
* @since 3.2.0
*/
-@Experimental
+@Evolving
public interface Distribution {}
diff --git
a/sql/catalyst/src/main/java/org/apache/spark/sql/connector/distributions/Distributions.java
b/sql/catalyst/src/main/java/org/apache/spark/sql/connector/distributions/Distributions.java
index da5d6f8c81a3..6a346a25424f 100644
---
a/sql/catalyst/src/main/java/org/apache/spark/sql/connector/distributions/Distributions.java
+++
b/sql/catalyst/src/main/java/org/apache/spark/sql/connector/distributions/Distributions.java
@@ -17,7 +17,7 @@
package org.apache.spark.sql.connector.distributions;
-import org.apache.spark.annotation.Experimental;
+import org.apache.spark.annotation.Evolving;
import org.apache.spark.sql.connector.expressions.Expression;
import org.apache.spark.sql.connector.expressions.SortOrder;
@@ -26,7 +26,7 @@ import org.apache.spark.sql.connector.expressions.SortOrder;
*
* @since 3.2.0
*/
-@Experimental
+@Evolving
public class Distributions {
private Distributions() {
}
diff --git
a/sql/catalyst/src/main/java/org/apache/spark/sql/connector/distributions/OrderedDistribution.java
b/sql/catalyst/src/main/java/org/apache/spark/sql/connector/distributions/OrderedDistribution.java
index 3456178d8e64..f959cc2e00ce 100644
---
a/sql/catalyst/src/main/java/org/apache/spark/sql/connector/distributions/OrderedDistribution.java
+++
b/sql/catalyst/src/main/java/org/apache/spark/sql/connector/distributions/OrderedDistribution.java
@@ -17,7 +17,7 @@
package org.apache.spark.sql.connector.distributions;
-import org.apache.spark.annotation.Experimental;
+import org.apache.spark.annotation.Evolving;
import org.apache.spark.sql.connector.expressions.SortOrder;
/**
@@ -26,7 +26,7 @@ import org.apache.spark.sql.connector.expressions.SortOrder;
*
* @since 3.2.0
*/
-@Experimental
+@Evolving
public interface OrderedDistribution extends Distribution {
/**
* Returns ordering expressions.
diff --git
a/sql/catalyst/src/main/java/org/apache/spark/sql/connector/distributions/UnspecifiedDistribution.java
b/sql/catalyst/src/main/java/org/apache/spark/sql/connector/distributions/UnspecifiedDistribution.java
index ea18d8906cfd..4749701e348e 100644
---
a/sql/catalyst/src/main/java/org/apache/spark/sql/connector/distributions/UnspecifiedDistribution.java
+++
b/sql/catalyst/src/main/java/org/apache/spark/sql/connector/distributions/UnspecifiedDistribution.java
@@ -17,12 +17,12 @@
package org.apache.spark.sql.connector.distributions;
-import org.apache.spark.annotation.Experimental;
+import org.apache.spark.annotation.Evolving;
/**
* A distribution where no promises are made about co-location of data.
*
* @since 3.2.0
*/
-@Experimental
+@Evolving
public interface UnspecifiedDistribution extends Distribution {}
diff --git
a/sql/catalyst/src/main/java/org/apache/spark/sql/connector/expressions/NullOrdering.java
b/sql/catalyst/src/main/java/org/apache/spark/sql/connector/expressions/NullOrdering.java
index 4aca199c11c0..7d457a62b313 100644
---
a/sql/catalyst/src/main/java/org/apache/spark/sql/connector/expressions/NullOrdering.java
+++
b/sql/catalyst/src/main/java/org/apache/spark/sql/connector/expressions/NullOrdering.java
@@ -17,14 +17,14 @@
package org.apache.spark.sql.connector.expressions;
-import org.apache.spark.annotation.Experimental;
+import org.apache.spark.annotation.Evolving;
/**
* A null order used in sorting expressions.
*
* @since 3.2.0
*/
-@Experimental
+@Evolving
public enum NullOrdering {
NULLS_FIRST, NULLS_LAST;
diff --git
a/sql/catalyst/src/main/java/org/apache/spark/sql/connector/expressions/SortDirection.java
b/sql/catalyst/src/main/java/org/apache/spark/sql/connector/expressions/SortDirection.java
index 7e3a29945cc9..385154e0fd83 100644
---
a/sql/catalyst/src/main/java/org/apache/spark/sql/connector/expressions/SortDirection.java
+++
b/sql/catalyst/src/main/java/org/apache/spark/sql/connector/expressions/SortDirection.java
@@ -17,7 +17,7 @@
package org.apache.spark.sql.connector.expressions;
-import org.apache.spark.annotation.Experimental;
+import org.apache.spark.annotation.Evolving;
import static
org.apache.spark.sql.connector.expressions.NullOrdering.NULLS_FIRST;
import static
org.apache.spark.sql.connector.expressions.NullOrdering.NULLS_LAST;
@@ -30,7 +30,7 @@ import static
org.apache.spark.sql.connector.expressions.NullOrdering.NULLS_LAST
*
* @since 3.2.0
*/
-@Experimental
+@Evolving
public enum SortDirection {
ASCENDING(NULLS_FIRST), DESCENDING(NULLS_LAST);
diff --git
a/sql/catalyst/src/main/java/org/apache/spark/sql/connector/expressions/SortOrder.java
b/sql/catalyst/src/main/java/org/apache/spark/sql/connector/expressions/SortOrder.java
index 51401786ca5d..45f06e17de6d 100644
---
a/sql/catalyst/src/main/java/org/apache/spark/sql/connector/expressions/SortOrder.java
+++
b/sql/catalyst/src/main/java/org/apache/spark/sql/connector/expressions/SortOrder.java
@@ -17,14 +17,14 @@
package org.apache.spark.sql.connector.expressions;
-import org.apache.spark.annotation.Experimental;
+import org.apache.spark.annotation.Evolving;
/**
* Represents a sort order in the public expression API.
*
* @since 3.2.0
*/
-@Experimental
+@Evolving
public interface SortOrder extends Expression {
/**
* Returns the sort expression.
diff --git
a/sql/catalyst/src/main/java/org/apache/spark/sql/connector/write/RequiresDistributionAndOrdering.java
b/sql/catalyst/src/main/java/org/apache/spark/sql/connector/write/RequiresDistributionAndOrdering.java
index 2adfe75f7d80..dbef9dd6146a 100644
---
a/sql/catalyst/src/main/java/org/apache/spark/sql/connector/write/RequiresDistributionAndOrdering.java
+++
b/sql/catalyst/src/main/java/org/apache/spark/sql/connector/write/RequiresDistributionAndOrdering.java
@@ -17,7 +17,7 @@
package org.apache.spark.sql.connector.write;
-import org.apache.spark.annotation.Experimental;
+import org.apache.spark.annotation.Evolving;
import org.apache.spark.sql.connector.distributions.Distribution;
import org.apache.spark.sql.connector.distributions.UnspecifiedDistribution;
import org.apache.spark.sql.connector.expressions.SortOrder;
@@ -27,7 +27,7 @@ import org.apache.spark.sql.connector.expressions.SortOrder;
*
* @since 3.2.0
*/
-@Experimental
+@Evolving
public interface RequiresDistributionAndOrdering extends Write {
/**
* Returns the distribution required by this write.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]