This is an automated email from the ASF dual-hosted git repository.
viirya 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 13ea0f51af36 [SPARK-57281][SQL][SS] Remove @Experimental annotation
from Real-time mode
13ea0f51af36 is described below
commit 13ea0f51af365c147caf8cea628584f86685110e
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]>
---
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]