This is an automated email from the ASF dual-hosted git repository.
viirya pushed a commit to branch branch-4.x
in repository https://gitbox.apache.org/repos/asf/spark.git
The following commit(s) were added to refs/heads/branch-4.x by this push:
new 7a800b956a4a [SPARK-57281][SQL][SS] Remove @Experimental annotation
from Real-time mode
7a800b956a4a is described below
commit 7a800b956a4a4e06c01095f0355dcc766d1ae5bf
Author: Boyang Jerry Peng <[email protected]>
AuthorDate: Tue Jun 9 00:11:12 2026 -0700
[SPARK-57281][SQL][SS] Remove @Experimental annotation from Real-time mode
### What changes were proposed in this pull request?
Remove Experimental since the RTM APIs as they are no longer experimental
and to make them consistent with other triggers supported in structured
streaming.
### Why are the changes needed?
RTM APIs are no longer experimental.
### Does this PR introduce _any_ user-facing change?
No
### How was this patch tested?
n/a
### Was this patch authored or co-authored using generative AI tooling?
Co-authored with Claude
Closes #56346 from jerrypeng/rtm-remove-experimental.
Authored-by: Boyang Jerry Peng <[email protected]>
Signed-off-by: Liang-Chi Hsieh <[email protected]>
(cherry picked from commit 13ea0f51af365c147caf8cea628584f86685110e)
Signed-off-by: Liang-Chi Hsieh <[email protected]>
---
sql/api/src/main/java/org/apache/spark/sql/streaming/Trigger.java | 6 ------
.../scala/org/apache/spark/sql/execution/streaming/Triggers.scala | 3 ---
2 files changed, 9 deletions(-)
diff --git a/sql/api/src/main/java/org/apache/spark/sql/streaming/Trigger.java
b/sql/api/src/main/java/org/apache/spark/sql/streaming/Trigger.java
index 8536df1ec74f..99eaac789bff 100644
--- a/sql/api/src/main/java/org/apache/spark/sql/streaming/Trigger.java
+++ b/sql/api/src/main/java/org/apache/spark/sql/streaming/Trigger.java
@@ -22,7 +22,6 @@ import java.util.concurrent.TimeUnit;
import scala.concurrent.duration.Duration;
import org.apache.spark.annotation.Evolving;
-import org.apache.spark.annotation.Experimental;
import org.apache.spark.sql.execution.streaming.AvailableNowTrigger$;
import org.apache.spark.sql.execution.streaming.ContinuousTrigger;
import org.apache.spark.sql.execution.streaming.OneTimeTrigger$;
@@ -183,7 +182,6 @@ public class Trigger {
* A trigger for real time mode, with batch at the specified duration.
*
*/
- @Experimental
public static Trigger RealTime(long batchDurationMs) {
return RealTimeTrigger.apply(batchDurationMs);
}
@@ -192,7 +190,6 @@ public class Trigger {
* A trigger for real time mode, with batch at the specified duration.
*
*/
- @Experimental
public static Trigger RealTime(long batchDuration, TimeUnit timeUnit) {
return RealTimeTrigger.create(batchDuration, timeUnit);
}
@@ -205,7 +202,6 @@ public class Trigger {
* df.writeStream.trigger(Trigger.RealTime(10.seconds))
* }}}
*/
- @Experimental
public static Trigger RealTime(Duration batchDuration) {
return RealTimeTrigger.apply(batchDuration);
}
@@ -217,7 +213,6 @@ public class Trigger {
* df.writeStream.trigger(Trigger.RealTime("10 seconds"))
* }}}
*/
- @Experimental
public static Trigger RealTime(String batchDuration) {
return RealTimeTrigger.apply(batchDuration);
}
@@ -226,7 +221,6 @@ public class Trigger {
* A trigger for real time mode, with batch at the specified duration. The
default duration is 5
* minutes.
*/
- @Experimental
public static Trigger RealTime() {
return RealTimeTrigger.apply();
}
diff --git
a/sql/api/src/main/scala/org/apache/spark/sql/execution/streaming/Triggers.scala
b/sql/api/src/main/scala/org/apache/spark/sql/execution/streaming/Triggers.scala
index ea7100fcc23a..cdd6e60a3dfc 100644
---
a/sql/api/src/main/scala/org/apache/spark/sql/execution/streaming/Triggers.scala
+++
b/sql/api/src/main/scala/org/apache/spark/sql/execution/streaming/Triggers.scala
@@ -24,7 +24,6 @@ import scala.concurrent.duration.{Duration, MINUTES}
import org.json4s.DefaultFormats
import org.apache.spark.SparkIllegalArgumentException
-import org.apache.spark.annotation.Experimental
import org.apache.spark.sql.catalyst.util.DateTimeConstants.MICROS_PER_DAY
import org.apache.spark.sql.catalyst.util.SparkDateTimeUtils.microsToMillis
import org.apache.spark.sql.catalyst.util.SparkIntervalUtils
@@ -123,14 +122,12 @@ object ContinuousTrigger {
* @param batchDurationMs
* The duration of each batch in milliseconds. This must be strictly
positive.
*/
-@Experimental
case class RealTimeTrigger(batchDurationMs: Long) extends Trigger {
require(batchDurationMs > 0, "the batch duration should not be negative")
implicit val defaultFormats: DefaultFormats = DefaultFormats
}
-@Experimental
object RealTimeTrigger {
import Triggers._
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]