gaborgsomogyi commented on a change in pull request #23156: [SPARK-24063][SS]
Add maximum epoch queue threshold for ContinuousExecution
URL: https://github.com/apache/spark/pull/23156#discussion_r259752296
##########
File path:
sql/catalyst/src/main/scala/org/apache/spark/sql/internal/SQLConf.scala
##########
@@ -1413,6 +1413,14 @@ object SQLConf {
.booleanConf
.createWithDefault(true)
+ val CONTINUOUS_STREAMING_EPOCH_BACKLOG_QUEUE_SIZE =
+ buildConf("spark.sql.streaming.continuous.epochBacklogQueueSize")
+ .internal()
+ .doc("The max number of entries to be stored in queue to wait for late
epochs. " +
+ "If this parameter is exceeded by the size of the queue, stream will
stop with an error.")
+ .intConf
+ .createWithDefault(10000)
Review comment:
Yeah, I agree these 2 things together is bad. Even if 10k items on test
clusters end up in really bad shaped nodes it doesn't mean the same scenario
applies to all other clusters. The configuration should be provided for users
for sure and I'll add it in a commit.
Having a pre-defined number I still think it has a value to notify users
about a possibly faulty query. Having `Int.MaxValue` and queuing up things may
end-up in silently stopped query but throwing and exception will end-up in a
failing query where resource managers can restart it. If you still have
concerns maybe the number can be adjusted.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on 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]