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]

Reply via email to