You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@spark.apache.org by jerryshao <gi...@git.apache.org> on 2018/02/28 02:12:42 UTC

[GitHub] spark pull request #20688: [SPARK-23096][SS] Migrate rate source to V2

GitHub user jerryshao opened a pull request:

    https://github.com/apache/spark/pull/20688

    [SPARK-23096][SS] Migrate rate source to V2

    ## What changes were proposed in this pull request?
    
    This PR migrate micro batch rate source to V2 API and rewrite UTs to suite V2 test.
    
    ## How was this patch tested?
    
    UTs.


You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/jerryshao/apache-spark SPARK-23096

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/spark/pull/20688.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #20688
    
----
commit 538223e52e1d12d82339a22390a9812beaccf8a6
Author: jerryshao <ss...@...>
Date:   2018-02-23T06:50:08Z

    Migrate rate source to V2

----


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #20688: [SPARK-23096][SS] Migrate rate source to V2

Posted by SparkQA <gi...@git.apache.org>.
Github user SparkQA commented on the issue:

    https://github.com/apache/spark/pull/20688
  
    **[Test build #88085 has started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/88085/testReport)** for PR 20688 at commit [`63ed0b4`](https://github.com/apache/spark/commit/63ed0b4ebc9d32fce2b5075c045867ea01fd4c27).


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #20688: [SPARK-23096][SS] Migrate rate source to V2

Posted by AmplabJenkins <gi...@git.apache.org>.
Github user AmplabJenkins commented on the issue:

    https://github.com/apache/spark/pull/20688
  
    Merged build finished. Test FAILed.


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #20688: [SPARK-23096][SS] Migrate rate source to V2

Posted by AmplabJenkins <gi...@git.apache.org>.
Github user AmplabJenkins commented on the issue:

    https://github.com/apache/spark/pull/20688
  
    Test PASSed.
    Refer to this link for build results (access rights to CI server needed): 
    https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/1162/
    Test PASSed.


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #20688: [SPARK-23096][SS] Migrate rate source to V2

Posted by AmplabJenkins <gi...@git.apache.org>.
Github user AmplabJenkins commented on the issue:

    https://github.com/apache/spark/pull/20688
  
    Merged build finished. Test PASSed.


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #20688: [SPARK-23096][SS] Migrate rate source to V2

Posted by SparkQA <gi...@git.apache.org>.
Github user SparkQA commented on the issue:

    https://github.com/apache/spark/pull/20688
  
    **[Test build #88085 has finished](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/88085/testReport)** for PR 20688 at commit [`63ed0b4`](https://github.com/apache/spark/commit/63ed0b4ebc9d32fce2b5075c045867ea01fd4c27).
     * This patch passes all tests.
     * This patch merges cleanly.
     * This patch adds no public classes.


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #20688: [SPARK-23096][SS] Migrate rate source to V2

Posted by AmplabJenkins <gi...@git.apache.org>.
Github user AmplabJenkins commented on the issue:

    https://github.com/apache/spark/pull/20688
  
    Merged build finished. Test PASSed.


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #20688: [SPARK-23096][SS] Migrate rate source to V2

Posted by SparkQA <gi...@git.apache.org>.
Github user SparkQA commented on the issue:

    https://github.com/apache/spark/pull/20688
  
    **[Test build #87799 has finished](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/87799/testReport)** for PR 20688 at commit [`8bfadc3`](https://github.com/apache/spark/commit/8bfadc387393c2a42d09ef11707b1f0d3d27a53a).
     * This patch passes all tests.
     * This patch merges cleanly.
     * This patch adds no public classes.


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #20688: [SPARK-23096][SS] Migrate rate source to V2

Posted by jose-torres <gi...@git.apache.org>.
Github user jose-torres commented on the issue:

    https://github.com/apache/spark/pull/20688
  
    Sorry it took me so long to get to this. LGTM


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #20688: [SPARK-23096][SS] Migrate rate source to V2

Posted by SparkQA <gi...@git.apache.org>.
Github user SparkQA commented on the issue:

    https://github.com/apache/spark/pull/20688
  
    **[Test build #87951 has finished](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/87951/testReport)** for PR 20688 at commit [`5a29d62`](https://github.com/apache/spark/commit/5a29d628d810fc5dfab13aa6529bf4ac379bc134).
     * This patch **fails due to an unknown error code, -9**.
     * This patch merges cleanly.
     * This patch adds no public classes.


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark pull request #20688: [SPARK-23096][SS] Migrate rate source to V2

Posted by tdas <gi...@git.apache.org>.
Github user tdas commented on a diff in the pull request:

    https://github.com/apache/spark/pull/20688#discussion_r172730994
  
    --- Diff: sql/core/src/main/scala/org/apache/spark/sql/execution/streaming/continuous/ContinuousRateStreamSource.scala ---
    @@ -24,8 +24,8 @@ import org.json4s.jackson.Serialization
     
     import org.apache.spark.sql.Row
     import org.apache.spark.sql.catalyst.util.DateTimeUtils
    -import org.apache.spark.sql.execution.streaming.{RateSourceProvider, RateStreamOffset, ValueRunTimeMsPair}
    -import org.apache.spark.sql.execution.streaming.sources.RateStreamSourceV2
    +import org.apache.spark.sql.execution.streaming.{RateStreamOffset, ValueRunTimeMsPair}
    +import org.apache.spark.sql.execution.streaming.sources.RateSourceProvider
     import org.apache.spark.sql.sources.v2.DataSourceOptions
     import org.apache.spark.sql.sources.v2.reader._
     import org.apache.spark.sql.sources.v2.reader.streaming.{ContinuousDataReader, ContinuousReader, Offset, PartitionOffset}
    --- End diff --
    
    Could you make the names of the different readers consistent with each other? Similar to Kafka?
    
    RateStreamProvider
    RateStreamMicroBatchReader, RateStreamMicroBatchDataReaderFactory ....
    RateStreamContinuousReader, ....
    
    



---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #20688: [SPARK-23096][SS] Migrate rate source to V2

Posted by AmplabJenkins <gi...@git.apache.org>.
Github user AmplabJenkins commented on the issue:

    https://github.com/apache/spark/pull/20688
  
    Test PASSed.
    Refer to this link for build results (access rights to CI server needed): 
    https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/1269/
    Test PASSed.


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #20688: [SPARK-23096][SS] Migrate rate source to V2

Posted by AmplabJenkins <gi...@git.apache.org>.
Github user AmplabJenkins commented on the issue:

    https://github.com/apache/spark/pull/20688
  
    Merged build finished. Test PASSed.


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #20688: [SPARK-23096][SS] Migrate rate source to V2

Posted by AmplabJenkins <gi...@git.apache.org>.
Github user AmplabJenkins commented on the issue:

    https://github.com/apache/spark/pull/20688
  
    Merged build finished. Test PASSed.


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #20688: [SPARK-23096][SS] Migrate rate source to V2

Posted by AmplabJenkins <gi...@git.apache.org>.
Github user AmplabJenkins commented on the issue:

    https://github.com/apache/spark/pull/20688
  
    Test FAILed.
    Refer to this link for build results (access rights to CI server needed): 
    https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/87740/
    Test FAILed.


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #20688: [SPARK-23096][SS] Migrate rate source to V2

Posted by SparkQA <gi...@git.apache.org>.
Github user SparkQA commented on the issue:

    https://github.com/apache/spark/pull/20688
  
    **[Test build #88086 has started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/88086/testReport)** for PR 20688 at commit [`63ed0b4`](https://github.com/apache/spark/commit/63ed0b4ebc9d32fce2b5075c045867ea01fd4c27).


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #20688: [SPARK-23096][SS] Migrate rate source to V2

Posted by AmplabJenkins <gi...@git.apache.org>.
Github user AmplabJenkins commented on the issue:

    https://github.com/apache/spark/pull/20688
  
    Test PASSed.
    Refer to this link for build results (access rights to CI server needed): 
    https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/88085/
    Test PASSed.


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #20688: [SPARK-23096][SS] Migrate rate source to V2

Posted by AmplabJenkins <gi...@git.apache.org>.
Github user AmplabJenkins commented on the issue:

    https://github.com/apache/spark/pull/20688
  
    Test PASSed.
    Refer to this link for build results (access rights to CI server needed): 
    https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/1128/
    Test PASSed.


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #20688: [SPARK-23096][SS] Migrate rate source to V2

Posted by SparkQA <gi...@git.apache.org>.
Github user SparkQA commented on the issue:

    https://github.com/apache/spark/pull/20688
  
    **[Test build #88086 has finished](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/88086/testReport)** for PR 20688 at commit [`63ed0b4`](https://github.com/apache/spark/commit/63ed0b4ebc9d32fce2b5075c045867ea01fd4c27).
     * This patch passes all tests.
     * This patch merges cleanly.
     * This patch adds no public classes.


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #20688: [SPARK-23096][SS] Migrate rate source to V2

Posted by jerryshao <gi...@git.apache.org>.
Github user jerryshao commented on the issue:

    https://github.com/apache/spark/pull/20688
  
    @tdas I tried different ways to keep history of rename, but seems git always treat as "rm and add" for big changes (https://coderwall.com/p/_csouq/renaming-and-changing-files-in-git-without-losing-history). Sorry to bring inconvenience. Do you have any better solutions?


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #20688: [SPARK-23096][SS] Migrate rate source to V2

Posted by SparkQA <gi...@git.apache.org>.
Github user SparkQA commented on the issue:

    https://github.com/apache/spark/pull/20688
  
    **[Test build #87740 has started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/87740/testReport)** for PR 20688 at commit [`538223e`](https://github.com/apache/spark/commit/538223e52e1d12d82339a22390a9812beaccf8a6).


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #20688: [SPARK-23096][SS] Migrate rate source to V2

Posted by AmplabJenkins <gi...@git.apache.org>.
Github user AmplabJenkins commented on the issue:

    https://github.com/apache/spark/pull/20688
  
    Test PASSed.
    Refer to this link for build results (access rights to CI server needed): 
    https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/1122/
    Test PASSed.


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #20688: [SPARK-23096][SS] Migrate rate source to V2

Posted by AmplabJenkins <gi...@git.apache.org>.
Github user AmplabJenkins commented on the issue:

    https://github.com/apache/spark/pull/20688
  
    Merged build finished. Test FAILed.


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #20688: [SPARK-23096][SS] Migrate rate source to V2

Posted by SparkQA <gi...@git.apache.org>.
Github user SparkQA commented on the issue:

    https://github.com/apache/spark/pull/20688
  
    **[Test build #87740 has finished](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/87740/testReport)** for PR 20688 at commit [`538223e`](https://github.com/apache/spark/commit/538223e52e1d12d82339a22390a9812beaccf8a6).
     * This patch **fails Spark unit tests**.
     * This patch merges cleanly.
     * This patch adds no public classes.


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #20688: [SPARK-23096][SS] Migrate rate source to V2

Posted by jerryshao <gi...@git.apache.org>.
Github user jerryshao commented on the issue:

    https://github.com/apache/spark/pull/20688
  
    Jenkins, retest this please.


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #20688: [SPARK-23096][SS] Migrate rate source to V2

Posted by AmplabJenkins <gi...@git.apache.org>.
Github user AmplabJenkins commented on the issue:

    https://github.com/apache/spark/pull/20688
  
    Test FAILed.
    Refer to this link for build results (access rights to CI server needed): 
    https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/87951/
    Test FAILed.


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #20688: [SPARK-23096][SS] Migrate rate source to V2

Posted by AmplabJenkins <gi...@git.apache.org>.
Github user AmplabJenkins commented on the issue:

    https://github.com/apache/spark/pull/20688
  
    Test FAILed.
    Refer to this link for build results (access rights to CI server needed): 
    https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/1391/
    Test FAILed.


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark pull request #20688: [SPARK-23096][SS] Migrate rate source to V2

Posted by asfgit <gi...@git.apache.org>.
Github user asfgit closed the pull request at:

    https://github.com/apache/spark/pull/20688


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #20688: [SPARK-23096][SS] Migrate rate source to V2

Posted by SparkQA <gi...@git.apache.org>.
Github user SparkQA commented on the issue:

    https://github.com/apache/spark/pull/20688
  
    **[Test build #87751 has finished](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/87751/testReport)** for PR 20688 at commit [`8bfadc3`](https://github.com/apache/spark/commit/8bfadc387393c2a42d09ef11707b1f0d3d27a53a).
     * This patch **fails due to an unknown error code, -9**.
     * This patch merges cleanly.
     * This patch adds no public classes.


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #20688: [SPARK-23096][SS] Migrate rate source to V2

Posted by jerryshao <gi...@git.apache.org>.
Github user jerryshao commented on the issue:

    https://github.com/apache/spark/pull/20688
  
    Thanks @tdas and @jose-torres .


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #20688: [SPARK-23096][SS] Migrate rate source to V2

Posted by AmplabJenkins <gi...@git.apache.org>.
Github user AmplabJenkins commented on the issue:

    https://github.com/apache/spark/pull/20688
  
    Test PASSed.
    Refer to this link for build results (access rights to CI server needed): 
    https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/1392/
    Test PASSed.


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark pull request #20688: [SPARK-23096][SS] Migrate rate source to V2

Posted by tdas <gi...@git.apache.org>.
Github user tdas commented on a diff in the pull request:

    https://github.com/apache/spark/pull/20688#discussion_r172729894
  
    --- Diff: sql/core/src/main/scala/org/apache/spark/sql/execution/streaming/sources/RateSourceProvider.scala ---
    @@ -0,0 +1,291 @@
    +/*
    + * Licensed to the Apache Software Foundation (ASF) under one or more
    + * contributor license agreements.  See the NOTICE file distributed with
    + * this work for additional information regarding copyright ownership.
    + * The ASF licenses this file to You under the Apache License, Version 2.0
    + * (the "License"); you may not use this file except in compliance with
    + * the License.  You may obtain a copy of the License at
    + *
    + *    http://www.apache.org/licenses/LICENSE-2.0
    + *
    + * Unless required by applicable law or agreed to in writing, software
    + * distributed under the License is distributed on an "AS IS" BASIS,
    + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    + * See the License for the specific language governing permissions and
    + * limitations under the License.
    + */
    +
    +package org.apache.spark.sql.execution.streaming.sources
    +
    +import java.io._
    +import java.nio.charset.StandardCharsets
    +import java.util.Optional
    +import java.util.concurrent.TimeUnit
    +
    +import scala.collection.JavaConverters._
    +
    +import org.apache.commons.io.IOUtils
    +
    +import org.apache.spark.internal.Logging
    +import org.apache.spark.network.util.JavaUtils
    +import org.apache.spark.sql.{AnalysisException, Row, SparkSession}
    +import org.apache.spark.sql.catalyst.util.DateTimeUtils
    +import org.apache.spark.sql.execution.streaming._
    +import org.apache.spark.sql.execution.streaming.continuous.RateStreamContinuousReader
    +import org.apache.spark.sql.sources.DataSourceRegister
    +import org.apache.spark.sql.sources.v2.{ContinuousReadSupport, DataSourceOptions, DataSourceV2, MicroBatchReadSupport}
    +import org.apache.spark.sql.sources.v2.reader._
    +import org.apache.spark.sql.sources.v2.reader.streaming.{ContinuousReader, MicroBatchReader, Offset}
    +import org.apache.spark.sql.types.{LongType, StructField, StructType, TimestampType}
    +import org.apache.spark.util.{ManualClock, SystemClock}
    +
    +object RateSourceProvider {
    +  val SCHEMA =
    +    StructType(StructField("timestamp", TimestampType) :: StructField("value", LongType) :: Nil)
    +
    +  val VERSION = 1
    +
    +  val NUM_PARTITIONS = "numPartitions"
    +  val ROWS_PER_SECOND = "rowsPerSecond"
    +  val RAMP_UP_TIME = "rampUpTime"
    +
    +  /** Calculate the end value we will emit at the time `seconds`. */
    +  def valueAtSecond(seconds: Long, rowsPerSecond: Long, rampUpTimeSeconds: Long): Long = {
    +    // E.g., rampUpTimeSeconds = 4, rowsPerSecond = 10
    +    // Then speedDeltaPerSecond = 2
    +    //
    +    // seconds   = 0 1 2  3  4  5  6
    +    // speed     = 0 2 4  6  8 10 10 (speedDeltaPerSecond * seconds)
    +    // end value = 0 2 6 12 20 30 40 (0 + speedDeltaPerSecond * seconds) * (seconds + 1) / 2
    +    val speedDeltaPerSecond = rowsPerSecond / (rampUpTimeSeconds + 1)
    +    if (seconds <= rampUpTimeSeconds) {
    +      // Calculate "(0 + speedDeltaPerSecond * seconds) * (seconds + 1) / 2" in a special way to
    +      // avoid overflow
    +      if (seconds % 2 == 1) {
    +        (seconds + 1) / 2 * speedDeltaPerSecond * seconds
    +      } else {
    +        seconds / 2 * speedDeltaPerSecond * (seconds + 1)
    +      }
    +    } else {
    +      // rampUpPart is just a special case of the above formula: rampUpTimeSeconds == seconds
    +      val rampUpPart = valueAtSecond(rampUpTimeSeconds, rowsPerSecond, rampUpTimeSeconds)
    +      rampUpPart + (seconds - rampUpTimeSeconds) * rowsPerSecond
    +    }
    +  }
    +}
    +
    +class RateSourceProvider extends DataSourceV2
    +  with MicroBatchReadSupport with ContinuousReadSupport with DataSourceRegister {
    +  import RateSourceProvider._
    +
    +  private def checkParameters(options: DataSourceOptions): Unit = {
    +    if (options.get(ROWS_PER_SECOND).isPresent) {
    +      val rowsPerSecond = options.get(ROWS_PER_SECOND).get().toLong
    +      if (rowsPerSecond <= 0) {
    +        throw new IllegalArgumentException(
    +          s"Invalid value '$rowsPerSecond'. The option 'rowsPerSecond' must be positive")
    +      }
    +    }
    +
    +    if (options.get(RAMP_UP_TIME).isPresent) {
    +      val rampUpTimeSeconds =
    +        JavaUtils.timeStringAsSec(options.get(RAMP_UP_TIME).get())
    +      if (rampUpTimeSeconds < 0) {
    +        throw new IllegalArgumentException(
    +          s"Invalid value '$rampUpTimeSeconds'. The option 'rampUpTime' must not be negative")
    +      }
    +    }
    +
    +    if (options.get(NUM_PARTITIONS).isPresent) {
    +      val numPartitions = options.get(NUM_PARTITIONS).get().toInt
    +      if (numPartitions <= 0) {
    +        throw new IllegalArgumentException(
    +          s"Invalid value '$numPartitions'. The option 'numPartitions' must be positive")
    +      }
    +    }
    +  }
    +
    +  override def createMicroBatchReader(
    +      schema: Optional[StructType],
    +      checkpointLocation: String,
    +      options: DataSourceOptions): MicroBatchReader = {
    +    checkParameters(options)
    +    if (schema.isPresent) {
    +      throw new AnalysisException("The rate source does not support a user-specified schema.")
    +    }
    +
    +    new RateStreamMicroBatchReader(options, checkpointLocation)
    +  }
    +
    +  override def createContinuousReader(
    +      schema: Optional[StructType],
    +      checkpointLocation: String,
    +      options: DataSourceOptions): ContinuousReader = new RateStreamContinuousReader(options)
    +
    +  override def shortName(): String = "rate"
    +}
    +
    +class RateStreamMicroBatchReader(options: DataSourceOptions, checkpointLocation: String)
    --- End diff --
    
    split this into a separate file.


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark pull request #20688: [SPARK-23096][SS] Migrate rate source to V2

Posted by jerryshao <gi...@git.apache.org>.
Github user jerryshao commented on a diff in the pull request:

    https://github.com/apache/spark/pull/20688#discussion_r172730858
  
    --- Diff: sql/core/src/test/scala/org/apache/spark/sql/execution/streaming/sources/RateSourceSuite.scala ---
    @@ -0,0 +1,344 @@
    +/*
    + * Licensed to the Apache Software Foundation (ASF) under one or more
    + * contributor license agreements.  See the NOTICE file distributed with
    + * this work for additional information regarding copyright ownership.
    + * The ASF licenses this file to You under the Apache License, Version 2.0
    + * (the "License"); you may not use this file except in compliance with
    + * the License.  You may obtain a copy of the License at
    + *
    + *    http://www.apache.org/licenses/LICENSE-2.0
    + *
    + * Unless required by applicable law or agreed to in writing, software
    + * distributed under the License is distributed on an "AS IS" BASIS,
    + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    + * See the License for the specific language governing permissions and
    + * limitations under the License.
    + */
    +
    +package org.apache.spark.sql.execution.streaming.sources
    +
    +import java.nio.file.Files
    +import java.util.Optional
    +import java.util.concurrent.TimeUnit
    +
    +import scala.collection.JavaConverters._
    +import scala.collection.mutable.ArrayBuffer
    +
    +import org.apache.spark.sql.{AnalysisException, Row, SparkSession}
    +import org.apache.spark.sql.catalyst.errors.TreeNodeException
    +import org.apache.spark.sql.execution.datasources.DataSource
    +import org.apache.spark.sql.execution.streaming._
    +import org.apache.spark.sql.execution.streaming.continuous._
    +import org.apache.spark.sql.functions._
    +import org.apache.spark.sql.sources.v2.{ContinuousReadSupport, DataSourceOptions, MicroBatchReadSupport}
    +import org.apache.spark.sql.sources.v2.reader.streaming.Offset
    +import org.apache.spark.sql.streaming.StreamTest
    +import org.apache.spark.util.ManualClock
    +
    +class RateSourceSuite extends StreamTest {
    --- End diff --
    
    Hi @tdas , I think I used "git mv", the thing is that when the diff is larger then x%, it will treat as "git rm" and "git add" (https://makandracards.com/makandra/30957-git-how-to-get-a-useful-diff-when-renaming-files). 


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #20688: [SPARK-23096][SS] Migrate rate source to V2

Posted by AmplabJenkins <gi...@git.apache.org>.
Github user AmplabJenkins commented on the issue:

    https://github.com/apache/spark/pull/20688
  
    Merged build finished. Test FAILed.


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #20688: [SPARK-23096][SS] Migrate rate source to V2

Posted by AmplabJenkins <gi...@git.apache.org>.
Github user AmplabJenkins commented on the issue:

    https://github.com/apache/spark/pull/20688
  
    Test FAILed.
    Refer to this link for build results (access rights to CI server needed): 
    https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/87751/
    Test FAILed.


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #20688: [SPARK-23096][SS] Migrate rate source to V2

Posted by dongjoon-hyun <gi...@git.apache.org>.
Github user dongjoon-hyun commented on the issue:

    https://github.com/apache/spark/pull/20688
  
    Retest this please.


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #20688: [SPARK-23096][SS] Migrate rate source to V2

Posted by SparkQA <gi...@git.apache.org>.
Github user SparkQA commented on the issue:

    https://github.com/apache/spark/pull/20688
  
    **[Test build #87799 has started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/87799/testReport)** for PR 20688 at commit [`8bfadc3`](https://github.com/apache/spark/commit/8bfadc387393c2a42d09ef11707b1f0d3d27a53a).


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #20688: [SPARK-23096][SS] Migrate rate source to V2

Posted by gatorsmile <gi...@git.apache.org>.
Github user gatorsmile commented on the issue:

    https://github.com/apache/spark/pull/20688
  
    Next time, we should re-trigger the tests before merging the code. The most recent tests ran 20 days ago


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #20688: [SPARK-23096][SS] Migrate rate source to V2

Posted by AmplabJenkins <gi...@git.apache.org>.
Github user AmplabJenkins commented on the issue:

    https://github.com/apache/spark/pull/20688
  
    Merged build finished. Test PASSed.


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #20688: [SPARK-23096][SS] Migrate rate source to V2

Posted by AmplabJenkins <gi...@git.apache.org>.
Github user AmplabJenkins commented on the issue:

    https://github.com/apache/spark/pull/20688
  
    Merged build finished. Test FAILed.


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #20688: [SPARK-23096][SS] Migrate rate source to V2

Posted by SparkQA <gi...@git.apache.org>.
Github user SparkQA commented on the issue:

    https://github.com/apache/spark/pull/20688
  
    **[Test build #87951 has started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/87951/testReport)** for PR 20688 at commit [`5a29d62`](https://github.com/apache/spark/commit/5a29d628d810fc5dfab13aa6529bf4ac379bc134).


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #20688: [SPARK-23096][SS] Migrate rate source to V2

Posted by AmplabJenkins <gi...@git.apache.org>.
Github user AmplabJenkins commented on the issue:

    https://github.com/apache/spark/pull/20688
  
    Merged build finished. Test PASSed.


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #20688: [SPARK-23096][SS] Migrate rate source to V2

Posted by gatorsmile <gi...@git.apache.org>.
Github user gatorsmile commented on the issue:

    https://github.com/apache/spark/pull/20688
  
    Sorry, I need to revert this PR. It breaks our build. Could you resubmit the PR after fixing the tests?
    
    https://amplab.cs.berkeley.edu/jenkins/view/Spark%20QA%20Test/job/spark-master-test-maven-hadoop-2.6/


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #20688: [SPARK-23096][SS] Migrate rate source to V2

Posted by AmplabJenkins <gi...@git.apache.org>.
Github user AmplabJenkins commented on the issue:

    https://github.com/apache/spark/pull/20688
  
    Test PASSed.
    Refer to this link for build results (access rights to CI server needed): 
    https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/88086/
    Test PASSed.


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #20688: [SPARK-23096][SS] Migrate rate source to V2

Posted by jerryshao <gi...@git.apache.org>.
Github user jerryshao commented on the issue:

    https://github.com/apache/spark/pull/20688
  
    @tdas @jose-torres can you please take a review when you have time, thanks!


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #20688: [SPARK-23096][SS] Migrate rate source to V2

Posted by SparkQA <gi...@git.apache.org>.
Github user SparkQA commented on the issue:

    https://github.com/apache/spark/pull/20688
  
    **[Test build #87751 has started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/87751/testReport)** for PR 20688 at commit [`8bfadc3`](https://github.com/apache/spark/commit/8bfadc387393c2a42d09ef11707b1f0d3d27a53a).


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark issue #20688: [SPARK-23096][SS] Migrate rate source to V2

Posted by AmplabJenkins <gi...@git.apache.org>.
Github user AmplabJenkins commented on the issue:

    https://github.com/apache/spark/pull/20688
  
    Merged build finished. Test PASSed.


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org


[GitHub] spark pull request #20688: [SPARK-23096][SS] Migrate rate source to V2

Posted by tdas <gi...@git.apache.org>.
Github user tdas commented on a diff in the pull request:

    https://github.com/apache/spark/pull/20688#discussion_r172730333
  
    --- Diff: sql/core/src/test/scala/org/apache/spark/sql/execution/streaming/sources/RateSourceSuite.scala ---
    @@ -0,0 +1,344 @@
    +/*
    + * Licensed to the Apache Software Foundation (ASF) under one or more
    + * contributor license agreements.  See the NOTICE file distributed with
    + * this work for additional information regarding copyright ownership.
    + * The ASF licenses this file to You under the Apache License, Version 2.0
    + * (the "License"); you may not use this file except in compliance with
    + * the License.  You may obtain a copy of the License at
    + *
    + *    http://www.apache.org/licenses/LICENSE-2.0
    + *
    + * Unless required by applicable law or agreed to in writing, software
    + * distributed under the License is distributed on an "AS IS" BASIS,
    + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    + * See the License for the specific language governing permissions and
    + * limitations under the License.
    + */
    +
    +package org.apache.spark.sql.execution.streaming.sources
    +
    +import java.nio.file.Files
    +import java.util.Optional
    +import java.util.concurrent.TimeUnit
    +
    +import scala.collection.JavaConverters._
    +import scala.collection.mutable.ArrayBuffer
    +
    +import org.apache.spark.sql.{AnalysisException, Row, SparkSession}
    +import org.apache.spark.sql.catalyst.errors.TreeNodeException
    +import org.apache.spark.sql.execution.datasources.DataSource
    +import org.apache.spark.sql.execution.streaming._
    +import org.apache.spark.sql.execution.streaming.continuous._
    +import org.apache.spark.sql.functions._
    +import org.apache.spark.sql.sources.v2.{ContinuousReadSupport, DataSourceOptions, MicroBatchReadSupport}
    +import org.apache.spark.sql.sources.v2.reader.streaming.Offset
    +import org.apache.spark.sql.streaming.StreamTest
    +import org.apache.spark.util.ManualClock
    +
    +class RateSourceSuite extends StreamTest {
    --- End diff --
    
    Why did you not move this file using "git mv" and then change? Then we would have been able to diff it properly. 
    This was a pain in the text socket v2 PR as well :(


---

---------------------------------------------------------------------
To unsubscribe, e-mail: reviews-unsubscribe@spark.apache.org
For additional commands, e-mail: reviews-help@spark.apache.org