tdas commented on a change in pull request #24996: [SPARK-28199][SS] Replace
deprecated ProcessingTime with ProcessingTimeTrigger and make invisible to end
users
URL: https://github.com/apache/spark/pull/24996#discussion_r301330731
##########
File path:
sql/core/src/main/scala/org/apache/spark/sql/execution/streaming/Triggers.scala
##########
@@ -27,3 +32,34 @@ import org.apache.spark.sql.streaming.Trigger
@Experimental
@Evolving
case object OneTimeTrigger extends Trigger
+
+/**
+ * A [[Trigger]] that runs a query periodically based on the processing time.
If `interval` is 0,
+ * the query will run as fast as possible.
+ */
+@Evolving
+private[sql] case class ProcessingTimeTrigger(intervalMs: Long) extends
Trigger {
+ require(intervalMs >= 0, "the interval of trigger should not be negative")
+}
+
+private[sql] object ProcessingTimeTrigger {
Review comment:
Just a flyby comment (apologies if i am missing any prior context or
conversation). I do not think it make sense to have both
`OnTimeTrigger/ProcessingTimeTrigger` and `Trigger.OneTime/ProcessingTime` be
public. The reason I had deprecated `ProcessingTime` constructor is so that we
can reduce the number of public classes and move towards having everything
through the `Trigger` class using`Trigger.ProcessingTime`. If we are indeed
doing that, then we should have `Trigger.ProcessingTime` as the only public
method and make `ProcessingTimeTrigger` private/hidden.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
With regards,
Apache Git Services
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]