You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@spark.apache.org by "mingkangli-db (via GitHub)" <gi...@apache.org> on 2024/07/15 23:09:09 UTC
[PR] [SPARK-48900] Add `reason` field for `cancelJobGroup` and `cancelJobsWithTag` [spark]
mingkangli-db opened a new pull request, #47361:
URL: https://github.com/apache/spark/pull/47361
<!--
Thanks for sending a pull request! Here are some tips for you:
1. If this is your first time, please read our contributor guidelines: https://spark.apache.org/contributing.html
2. Ensure you have added or run the appropriate tests for your PR: https://spark.apache.org/developer-tools.html
3. If the PR is unfinished, add '[WIP]' in your PR title, e.g., '[WIP][SPARK-XXXX] Your PR title ...'.
4. Be sure to keep the PR description updated to reflect all changes.
5. Please write your PR title to summarize what this PR proposes.
6. If possible, provide a concise example to reproduce the issue for a faster review.
7. If you want to add a new configuration, please read the guideline first for naming configurations in
'core/src/main/scala/org/apache/spark/internal/config/ConfigEntry.scala'.
8. If you want to add or modify an error type or message, please read the guideline first in
'common/utils/src/main/resources/error/README.md'.
-->
### What changes were proposed in this pull request?
<!--
Please clarify what changes you are proposing. The purpose of this section is to outline the changes and how this PR fixes the issue.
If possible, please consider writing useful notes for better and faster reviews in your PR. See the examples below.
1. If you refactor some codes with changing classes, showing the class hierarchy will help reviewers.
2. If you fix some SQL features, you can provide some references of other DBMSes.
3. If there is design documentation, please add the link.
4. If there is a discussion in the mailing list, please add the link.
-->
This PR introduces the optional `reason` field for `cancelJobGroup` and `cancelJobsWithTag` in `SparkContext.scala`, while keeping the old APIs without the `reason`, similar to how `cancelJob` is implemented currently.
### Why are the changes needed?
<!--
Please clarify why the changes are needed. For instance,
1. If you propose a new API, clarify the use case for a new API.
2. If you fix a bug, you can clarify why it is a bug.
-->
Today it is difficult to determine why a job, stage, or job group was canceled. We should leverage existing Spark functionality to provide a reason string explaining the cancellation cause, and should add new APIs to let us provide this reason when canceling job groups.
**Details:**
Since [SPARK-19549](https://issues.apache.org/jira/browse/SPARK-19549) Allow providing reasons for stage/job cancelling - ASF JIRA (Spark 2.20), Spark’s cancelJob and cancelStage methods accept an optional reason: String that is added to logging output and user-facing error messages when jobs or stages are canceled. In our internal calls to these methods, we should always supply a reason. For example, we should set an appropriate reason when the “kill” links are clicked in the Spark UI (see [code](https://github.com/apache/spark/blob/b14c1f036f8f394ad1903998128c05d04dd584a9/core/src/main/scala/org/apache/spark/ui/jobs/JobsTab.scala#L54C1-L55)).
Other APIs currently lack a reason field. For example, cancelJobGroup and cancelJobsWithTag don’t provide any way to specify a reason, so we only see generic logs like “asked to cancel job group <group name>”. We should add an ability to pass in a group cancellation reason and thread that through into the scheduler’s logging and job failure reasons.
This feature can be implemented in two PRs:
1. Modify the current SparkContext and its downstream APIs to add the reason string, such as cancelJobGroup and cancelJobsWithTag
2. Add reasons for all internal calls to these methods.
**This is the first of the two PRs to implement this new feature**
### Does this PR introduce _any_ user-facing change?
<!--
Note that it means *any* user-facing change including all aspects such as the documentation fix.
If yes, please clarify the previous behavior and the change this PR proposes - provide the console output, description and/or an example to show the behavior difference if possible.
If possible, please also clarify if this is a user-facing change compared to the released Spark versions or within the unreleased branches such as master.
If no, write 'No'.
-->
Yes, it modifies the SparkContext API, allowing users to add an optional `reason: String` to `cancelJobsWithTags` and `cancelJobGroup`, while the old methods without the `reason` are also kept. This creates a more uniform interface where the user can supply an optional reason for all job/stage cancellation calls.
### How was this patch tested?
<!--
If tests were added, say they were added here. Please make sure to add some test cases that check the changes thoroughly including negative and positive cases if possible.
If it was tested in a way different from regular unit tests, please clarify how you tested step by step, ideally copy and paste-able, so that other reviewers can test and check, and descendants can verify in the future.
If tests were not added, please describe why they were not added and/or why it was difficult to add.
If benchmark tests were added, please run the benchmarks in GitHub Actions for the consistent environment, and the instructions could accord to: https://spark.apache.org/developer-tools.html#github-workflow-benchmarks.
-->
New tests are added to `JobCancellationSuite` to test the reason fields for these calls
### Was this patch authored or co-authored using generative AI tooling?
<!--
If generative AI tooling has been used in the process of authoring this patch, please include the
phrase: 'Generated-by: ' followed by the name of the tool and its version.
If no, write 'No'.
Please refer to the [ASF Generative Tooling Guidance](https://www.apache.org/legal/generative-tooling.html) for details.
-->
No
--
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.
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
Re: [PR] [SPARK-48900] Add `reason` field for `cancelJobGroup` and `cancelJobsWithTag` [spark]
Posted by "mingkangli-db (via GitHub)" <gi...@apache.org>.
mingkangli-db commented on PR #47361:
URL: https://github.com/apache/spark/pull/47361#issuecomment-2231904382
@cloud-fan Hi Wenchen, since last time you reviewed it, I addressed the comments and also synced the changes to R, Python, and Java `SparkContext` API, making it consistent with the Scala API. The additional changes are in:
- org/apache/spark/api/java/JavaSparkContext.scala
- python/pyspark/core/context.py
- R/pkg/R/sparkR.R
and additional tests are added here:
- R/pkg/tests/fulltests/test_context.R
- python/pyspark/tests/test_pin_thread.py
Would appreciate it if you could also take a look at these changes!
--
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.
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
Re: [PR] [SPARK-48900] Add `reason` field for `cancelJobGroup` and `cancelJobsWithTag` [spark]
Posted by "cloud-fan (via GitHub)" <gi...@apache.org>.
cloud-fan commented on code in PR #47361:
URL: https://github.com/apache/spark/pull/47361#discussion_r1681200218
##########
R/pkg/R/sparkR.R:
##########
@@ -537,9 +538,13 @@ clearJobGroup <- function() {
#' cancelJobGroup("myJobGroup")
#'}
#' @note cancelJobGroup since 1.5.0
-cancelJobGroup <- function(groupId) {
+cancelJobGroup <- function(groupId, reason = NULL) {
Review Comment:
I'd suggest we don't add them as it's kind of low-level API and R/Python users shouldn't care.
--
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.
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
Re: [PR] [SPARK-48900] Add `reason` field for `cancelJobGroup` and `cancelJobsWithTag` [spark]
Posted by "cloud-fan (via GitHub)" <gi...@apache.org>.
cloud-fan commented on code in PR #47361:
URL: https://github.com/apache/spark/pull/47361#discussion_r1678622614
##########
core/src/main/scala/org/apache/spark/SparkContext.scala:
##########
@@ -2633,34 +2633,76 @@ class SparkContext(config: SparkConf) extends Logging {
/**
* Cancel active jobs for the specified group. See `org.apache.spark.SparkContext.setJobGroup`
* for more information.
+ *
+ * @param groupId the group ID to cancel
+ * @param reason optional reason for cancellation
+ */
+ def cancelJobGroup(groupId: String, reason: String): Unit = {
+ assertNotStopped()
+ dagScheduler.cancelJobGroup(groupId, Option(reason))
+ }
+
+ /**
+ * Cancel active jobs for the specified group. See `org.apache.spark.SparkContext.setJobGroup`
+ * for more information.
+ *
+ * @param groupId the group ID to cancel
*/
def cancelJobGroup(groupId: String): Unit = {
assertNotStopped()
- dagScheduler.cancelJobGroup(groupId)
+ dagScheduler.cancelJobGroup(groupId, None)
+ }
+
+ /**
+ * Cancel active jobs for the specified group, as well as the future jobs in this job group.
+ * Note: the maximum number of job groups that can be tracked is set by
+ * 'spark.scheduler.numCancelledJobGroupsToTrack'. Once the limit is reached and a new job group
+ * is to be added, the oldest job group tracked will be discarded.
+ *
+ * @param groupId the group ID to cancel
+ * @param reason optional reason for cancellation
Review Comment:
ditto
--
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.
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
Re: [PR] [SPARK-48900] Add `reason` field for `cancelJobGroup` and `cancelJobsWithTag` [spark]
Posted by "cloud-fan (via GitHub)" <gi...@apache.org>.
cloud-fan commented on code in PR #47361:
URL: https://github.com/apache/spark/pull/47361#discussion_r1681208015
##########
core/src/main/scala/org/apache/spark/scheduler/DAGScheduler.scala:
##########
@@ -1229,11 +1230,11 @@ private[spark] class DAGScheduler(
log"Cannot find active jobs for it.")
}
val jobIds = activeInGroup.map(_.jobId)
- jobIds.foreach(handleJobCancellation(_,
- Option("part of cancelled job group %s".format(groupId))))
+ val updatedReason = reason.orElse(Some("part of cancelled job group %s".format(groupId)))
Review Comment:
```suggestion
val updatedReason = reason.getOrElse("part of cancelled job group %s".format(groupId))
```
##########
core/src/main/scala/org/apache/spark/scheduler/DAGScheduler.scala:
##########
@@ -1242,8 +1243,8 @@ private[spark] class DAGScheduler(
.split(SparkContext.SPARK_JOB_TAGS_SEP).filter(!_.isEmpty).toSet.contains(tag)
}
}.map(_.jobId)
- jobIds.foreach(handleJobCancellation(_,
- Option(s"part of cancelled job tag $tag")))
+ val updatedReason = reason.orElse(Some(s"part of cancelled job tag $tag"))
Review Comment:
ditto
--
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.
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
Re: [PR] [SPARK-48900] Add `reason` field for `cancelJobGroup` and `cancelJobsWithTag` [spark]
Posted by "cloud-fan (via GitHub)" <gi...@apache.org>.
cloud-fan commented on code in PR #47361:
URL: https://github.com/apache/spark/pull/47361#discussion_r1678623316
##########
core/src/main/scala/org/apache/spark/scheduler/DAGScheduler.scala:
##########
@@ -1108,19 +1108,19 @@ private[spark] class DAGScheduler(
* Cancel all jobs in the given job group ID.
* @param cancelFutureJobs if true, future submitted jobs in this job group will be cancelled
*/
- def cancelJobGroup(groupId: String, cancelFutureJobs: Boolean = false): Unit = {
+ def cancelJobGroup(groupId: String, reason: Option[String], cancelFutureJobs: Boolean = false): Unit = {
Review Comment:
new parameters should be put at the end
--
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.
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
Re: [PR] [SPARK-48900] Add `reason` field for `cancelJobGroup` and `cancelJobsWithTag` [spark]
Posted by "cloud-fan (via GitHub)" <gi...@apache.org>.
cloud-fan commented on code in PR #47361:
URL: https://github.com/apache/spark/pull/47361#discussion_r1681206961
##########
core/src/main/scala/org/apache/spark/api/java/JavaSparkContext.scala:
##########
@@ -763,9 +763,32 @@ class JavaSparkContext(val sc: SparkContext) extends Closeable {
/**
* Cancel active jobs for the specified group. See
* `org.apache.spark.api.java.JavaSparkContext.setJobGroup` for more information.
+ *
+ * @param groupId the group ID to cancel
+ * @param reason reason for cancellation
+ *
+ * @since 4.0.0
+ */
+ def cancelJobGroup(groupId: String, reason: String): Unit = sc.cancelJobGroup(groupId, reason)
Review Comment:
given that the recently added `cancelJobGroupAndFutureJobs` is not here, this API doesn't have to be here as well.
##########
core/src/main/scala/org/apache/spark/api/java/JavaSparkContext.scala:
##########
@@ -763,9 +763,32 @@ class JavaSparkContext(val sc: SparkContext) extends Closeable {
/**
* Cancel active jobs for the specified group. See
* `org.apache.spark.api.java.JavaSparkContext.setJobGroup` for more information.
+ *
+ * @param groupId the group ID to cancel
+ * @param reason reason for cancellation
+ *
+ * @since 4.0.0
+ */
+ def cancelJobGroup(groupId: String, reason: String): Unit = sc.cancelJobGroup(groupId, reason)
Review Comment:
given that the recently added `cancelJobGroupAndFutureJobs` is not here, this API doesn't have to be here as well.
--
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.
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
Re: [PR] [SPARK-48900] Add `reason` field for `cancelJobGroup` and `cancelJobsWithTag` [spark]
Posted by "cloud-fan (via GitHub)" <gi...@apache.org>.
cloud-fan commented on code in PR #47361:
URL: https://github.com/apache/spark/pull/47361#discussion_r1678623455
##########
core/src/main/scala/org/apache/spark/scheduler/DAGSchedulerEvent.scala:
##########
@@ -65,10 +65,13 @@ private[scheduler] case class JobCancelled(
private[scheduler] case class JobGroupCancelled(
groupId: String,
+ reason: Option[String],
Review Comment:
ditto
--
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.
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
Re: [PR] [SPARK-48900] Add `reason` field for `cancelJobGroup` and `cancelJobsWithTag` [spark]
Posted by "mingkangli-db (via GitHub)" <gi...@apache.org>.
mingkangli-db commented on code in PR #47361:
URL: https://github.com/apache/spark/pull/47361#discussion_r1681394535
##########
core/src/main/scala/org/apache/spark/scheduler/DAGScheduler.scala:
##########
@@ -1242,8 +1243,8 @@ private[spark] class DAGScheduler(
.split(SparkContext.SPARK_JOB_TAGS_SEP).filter(!_.isEmpty).toSet.contains(tag)
}
}.map(_.jobId)
- jobIds.foreach(handleJobCancellation(_,
- Option(s"part of cancelled job tag $tag")))
+ val updatedReason = reason.orElse(Some(s"part of cancelled job tag $tag"))
Review Comment:
Sounds good, just addressed all comments above.
--
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.
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
Re: [PR] [SPARK-48900] Add `reason` field for `cancelJobGroup` and `cancelJobsWithTag` [spark]
Posted by "mingkangli-db (via GitHub)" <gi...@apache.org>.
mingkangli-db commented on code in PR #47361:
URL: https://github.com/apache/spark/pull/47361#discussion_r1679822519
##########
core/src/main/scala/org/apache/spark/scheduler/DAGSchedulerEvent.scala:
##########
@@ -65,10 +65,13 @@ private[scheduler] case class JobCancelled(
private[scheduler] case class JobGroupCancelled(
groupId: String,
+ reason: Option[String],
Review Comment:
Thank you for the suggestions, just addressed all the comments above.
--
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.
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
Re: [PR] [SPARK-48900] Add `reason` field for `cancelJobGroup` and `cancelJobsWithTag` [spark]
Posted by "cloud-fan (via GitHub)" <gi...@apache.org>.
cloud-fan commented on code in PR #47361:
URL: https://github.com/apache/spark/pull/47361#discussion_r1678623107
##########
core/src/main/scala/org/apache/spark/SparkContext.scala:
##########
@@ -2633,34 +2633,76 @@ class SparkContext(config: SparkConf) extends Logging {
/**
* Cancel active jobs for the specified group. See `org.apache.spark.SparkContext.setJobGroup`
* for more information.
+ *
+ * @param groupId the group ID to cancel
+ * @param reason optional reason for cancellation
+ */
+ def cancelJobGroup(groupId: String, reason: String): Unit = {
+ assertNotStopped()
+ dagScheduler.cancelJobGroup(groupId, Option(reason))
+ }
+
+ /**
+ * Cancel active jobs for the specified group. See `org.apache.spark.SparkContext.setJobGroup`
+ * for more information.
+ *
+ * @param groupId the group ID to cancel
*/
def cancelJobGroup(groupId: String): Unit = {
assertNotStopped()
- dagScheduler.cancelJobGroup(groupId)
+ dagScheduler.cancelJobGroup(groupId, None)
+ }
+
+ /**
+ * Cancel active jobs for the specified group, as well as the future jobs in this job group.
+ * Note: the maximum number of job groups that can be tracked is set by
+ * 'spark.scheduler.numCancelledJobGroupsToTrack'. Once the limit is reached and a new job group
+ * is to be added, the oldest job group tracked will be discarded.
+ *
+ * @param groupId the group ID to cancel
+ * @param reason optional reason for cancellation
+ */
+ def cancelJobGroupAndFutureJobs(groupId: String, reason: String): Unit = {
+ assertNotStopped()
+ dagScheduler.cancelJobGroup(groupId, Option(reason), cancelFutureJobs = true)
}
/**
* Cancel active jobs for the specified group, as well as the future jobs in this job group.
* Note: the maximum number of job groups that can be tracked is set by
* 'spark.scheduler.numCancelledJobGroupsToTrack'. Once the limit is reached and a new job group
* is to be added, the oldest job group tracked will be discarded.
+ *
+ * @param groupId the group ID to cancel
*/
def cancelJobGroupAndFutureJobs(groupId: String): Unit = {
assertNotStopped()
- dagScheduler.cancelJobGroup(groupId, cancelFutureJobs = true)
+ dagScheduler.cancelJobGroup(groupId, None, cancelFutureJobs = true)
}
/**
* Cancel active jobs that have the specified tag. See `org.apache.spark.SparkContext.addJobTag`.
*
* @param tag The tag to be cancelled. Cannot contain ',' (comma) character.
+ * @param reason optional reason for cancellation
+ * @since 3.5.0
Review Comment:
can we add `@since` to add the newly added functions in this PR? And it should be `4.0.0`
--
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.
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
Re: [PR] [SPARK-48900] Add `reason` field for `cancelJobGroup` and `cancelJobsWithTag` [spark]
Posted by "cloud-fan (via GitHub)" <gi...@apache.org>.
cloud-fan commented on code in PR #47361:
URL: https://github.com/apache/spark/pull/47361#discussion_r1678622426
##########
core/src/main/scala/org/apache/spark/SparkContext.scala:
##########
@@ -2633,34 +2633,76 @@ class SparkContext(config: SparkConf) extends Logging {
/**
* Cancel active jobs for the specified group. See `org.apache.spark.SparkContext.setJobGroup`
* for more information.
+ *
+ * @param groupId the group ID to cancel
+ * @param reason optional reason for cancellation
Review Comment:
for this function, the `reason` parameter is not optional
--
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.
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
Re: [PR] [SPARK-48900] Add `reason` field for `cancelJobGroup` and `cancelJobsWithTag` [spark]
Posted by "cloud-fan (via GitHub)" <gi...@apache.org>.
cloud-fan closed pull request #47361: [SPARK-48900] Add `reason` field for `cancelJobGroup` and `cancelJobsWithTag`
URL: https://github.com/apache/spark/pull/47361
--
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.
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org
Re: [PR] [SPARK-48900] Add `reason` field for `cancelJobGroup` and `cancelJobsWithTag` [spark]
Posted by "cloud-fan (via GitHub)" <gi...@apache.org>.
cloud-fan commented on PR #47361:
URL: https://github.com/apache/spark/pull/47361#issuecomment-2235170659
thanks, merging to master!
--
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.
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org