You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@spark.apache.org by wangyum <gi...@git.apache.org> on 2018/09/17 17:08:07 UTC

[GitHub] spark pull request #22443: [SPARK-25339][TESTS] Refactor FilterPushdownBench...

GitHub user wangyum opened a pull request:

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

    [SPARK-25339][TESTS] Refactor FilterPushdownBenchmark

    ## What changes were proposed in this pull request?
    
    Refactor `FilterPushdownBenchmark` use `main` method. we can use 3 ways to run this test now:
    
    1. bin/spark-submit --class org.apache.spark.sql.execution.benchmark.FilterPushdownBenchmark spark-sql_2.11-2.5.0-SNAPSHOT-tests.jar
    2. build/sbt "sql/test:runMain org.apache.spark.sql.execution.benchmark.FilterPushdownBenchmark"
    3. SPARK_GENERATE_BENCHMARK_FILES=1 build/sbt "sql/test:runMain org.apache.spark.sql.execution.benchmark.FilterPushdownBenchmark"
    
    The method 2 and the method 3 do not need to compile the `spark-sql_*-tests.jar` package. So these two methods are mainly for developers to quickly do benchmark.
    
    
    ## How was this patch tested?
    
    manual tests


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

    $ git pull https://github.com/wangyum/spark SPARK-25339

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

    https://github.com/apache/spark/pull/22443.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 #22443
    
----
commit 7b50eb5225b664c43cd5dd66a49024741d2ca19c
Author: Yuming Wang <yu...@...>
Date:   2018-09-17T16:51:03Z

    Refactor FilterPushdownBenchmark

commit 6e7cfc85d4d7719ee31254317b0ca81173be7128
Author: Yuming Wang <yu...@...>
Date:   2018-09-17T16:53:55Z

    Revert numRows

----


---

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


[GitHub] spark issue #22443: [SPARK-25339][TEST] Refactor FilterPushdownBenchmark

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

    https://github.com/apache/spark/pull/22443
  
    Test PASSed.
    Refer to this link for build results (access rights to CI server needed): 
    https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/96234/
    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 #22443: [SPARK-25339][TEST] Refactor FilterPushdownBenchm...

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

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


---

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


[GitHub] spark issue #22443: [SPARK-25339][TEST] Refactor FilterPushdownBenchmark

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

    https://github.com/apache/spark/pull/22443
  
    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 #22443: [SPARK-25339][TEST] Refactor FilterPushdownBenchmark

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

    https://github.com/apache/spark/pull/22443
  
    thanks, merging to master!
    
    @dongjoon-hyun Can you create an umbrella JIRA for updating all the benchmark and take care of it? Thanks!


---

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


[GitHub] spark issue #22443: [SPARK-25339][TEST] Refactor FilterPushdownBenchmark

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

    https://github.com/apache/spark/pull/22443
  
    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 #22443: [SPARK-25339][TEST] Refactor FilterPushdownBenchmark

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

    https://github.com/apache/spark/pull/22443
  
    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 pull request #22443: [SPARK-25339][TEST] Refactor FilterPushdownBenchm...

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

    https://github.com/apache/spark/pull/22443#discussion_r218308258
  
    --- Diff: sql/core/src/test/scala/org/apache/spark/sql/execution/benchmark/FilterPushdownBenchmark.scala ---
    @@ -17,29 +17,28 @@
     
     package org.apache.spark.sql.execution.benchmark
     
    -import java.io.{File, FileOutputStream, OutputStream}
    +import java.io.File
     
     import scala.util.{Random, Try}
     
    -import org.scalatest.{BeforeAndAfterEachTestData, Suite, TestData}
    -
     import org.apache.spark.SparkConf
    -import org.apache.spark.SparkFunSuite
     import org.apache.spark.sql.{DataFrame, SparkSession}
     import org.apache.spark.sql.functions.monotonically_increasing_id
     import org.apache.spark.sql.internal.SQLConf
     import org.apache.spark.sql.internal.SQLConf.ParquetOutputTimestampType
     import org.apache.spark.sql.types.{ByteType, Decimal, DecimalType, TimestampType}
    -import org.apache.spark.util.{Benchmark, Utils}
    +import org.apache.spark.util.{Benchmark, BenchmarkBase => FileBenchmarkBase, Utils}
     
     /**
      * Benchmark to measure read performance with Filter pushdown.
    - * To run this:
    - *  build/sbt "sql/test-only *FilterPushdownBenchmark"
    - *
    - * Results will be written to "benchmarks/FilterPushdownBenchmark-results.txt".
    + * To run this benchmark:
    + *  1. without sbt: bin/spark-submit --class <this class> <spark sql test jar>
    + *  2. build/sbt "sql/test:runMain <this class>"
    + *  3. generate result: SPARK_GENERATE_BENCHMARK_FILES=1 build/sbt "sql/test:runMain <this class>"
    --- End diff --
    
    Yes, It can print the output to console if `SPARK_GENERATE_BENCHMARK_FILES` not set.
    https://github.com/apache/spark/blob/4e8ac6edd5808ca8245b39d804c6d4f5ea9d0d36/core/src/main/scala/org/apache/spark/util/Benchmark.scala#L59-L63


---

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


[GitHub] spark issue #22443: [SPARK-25339][TEST] Refactor FilterPushdownBenchmark

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

    https://github.com/apache/spark/pull/22443
  
    **[Test build #96234 has started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/96234/testReport)** for PR 22443 at commit [`075ef7a`](https://github.com/apache/spark/commit/075ef7a0696332c3b9d35ff1750ea7ade08e7c3d).


---

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


[GitHub] spark issue #22443: [SPARK-25339][TEST] Refactor FilterPushdownBenchmark

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

    https://github.com/apache/spark/pull/22443
  
    @gengliangwang . SPARK-25475 is created like the above, could you revise https://github.com/apache/spark/pull/22451 in order print the output as a separate file like this PR?


---

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


[GitHub] spark issue #22443: [SPARK-25339][TEST] Refactor FilterPushdownBenchmark

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

    https://github.com/apache/spark/pull/22443
  
    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-unified/3226/
    Test PASSed.


---

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


[GitHub] spark issue #22443: [SPARK-25339][TESTS] Refactor FilterPushdownBenchmark

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

    https://github.com/apache/spark/pull/22443
  
    **[Test build #96148 has started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/96148/testReport)** for PR 22443 at commit [`6e7cfc8`](https://github.com/apache/spark/commit/6e7cfc85d4d7719ee31254317b0ca81173be7128).


---

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


[GitHub] spark issue #22443: [SPARK-25339][TESTS] Refactor FilterPushdownBenchmark

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

    https://github.com/apache/spark/pull/22443
  
    cc @dongjoon-hyun 


---

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


[GitHub] spark pull request #22443: [SPARK-25339][TEST] Refactor FilterPushdownBenchm...

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

    https://github.com/apache/spark/pull/22443#discussion_r218293752
  
    --- Diff: sql/core/src/test/scala/org/apache/spark/sql/execution/benchmark/FilterPushdownBenchmark.scala ---
    @@ -17,29 +17,28 @@
     
     package org.apache.spark.sql.execution.benchmark
     
    -import java.io.{File, FileOutputStream, OutputStream}
    +import java.io.File
     
     import scala.util.{Random, Try}
     
    -import org.scalatest.{BeforeAndAfterEachTestData, Suite, TestData}
    -
     import org.apache.spark.SparkConf
    -import org.apache.spark.SparkFunSuite
     import org.apache.spark.sql.{DataFrame, SparkSession}
     import org.apache.spark.sql.functions.monotonically_increasing_id
     import org.apache.spark.sql.internal.SQLConf
     import org.apache.spark.sql.internal.SQLConf.ParquetOutputTimestampType
     import org.apache.spark.sql.types.{ByteType, Decimal, DecimalType, TimestampType}
    -import org.apache.spark.util.{Benchmark, Utils}
    +import org.apache.spark.util.{Benchmark, BenchmarkBase => FileBenchmarkBase, Utils}
     
     /**
      * Benchmark to measure read performance with Filter pushdown.
    - * To run this:
    - *  build/sbt "sql/test-only *FilterPushdownBenchmark"
    - *
    - * Results will be written to "benchmarks/FilterPushdownBenchmark-results.txt".
    + * To run this benchmark:
    + *  1. without sbt: bin/spark-submit --class <this class> <spark sql test jar>
    + *  2. build/sbt "sql/test:runMain <this class>"
    + *  3. generate result: SPARK_GENERATE_BENCHMARK_FILES=1 build/sbt "sql/test:runMain <this class>"
    --- End diff --
    
    shall we print the benchmark result if `SPARK_GENERATE_BENCHMARK_FILES` is not set?


---

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


[GitHub] spark pull request #22443: [SPARK-25339][TEST] Refactor FilterPushdownBenchm...

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

    https://github.com/apache/spark/pull/22443#discussion_r221183362
  
    --- Diff: core/src/main/scala/org/apache/spark/util/BenchmarkBase.scala ---
    @@ -0,0 +1,57 @@
    +/*
    + * 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.util
    +
    +import java.io.{File, FileOutputStream, OutputStream}
    +
    +/**
    + * A base class for generate benchmark results to a file.
    + */
    +abstract class BenchmarkBase {
    +  var output: Option[OutputStream] = None
    +
    +  def benchmark(): Unit
    +
    +  final def runBenchmark(benchmarkName: String)(func: => Any): Unit = {
    +    val separator = "=" * 96
    +    val testHeader = (separator + '\n' + benchmarkName + '\n' + separator + '\n' + '\n').getBytes
    +    output.foreach(_.write(testHeader))
    +    func
    +    output.foreach(_.write('\n'))
    +  }
    +
    +  def main(args: Array[String]): Unit = {
    +    val regenerateBenchmarkFiles: Boolean = System.getenv("SPARK_GENERATE_BENCHMARK_FILES") == "1"
    +    if (regenerateBenchmarkFiles) {
    +      val resultFileName = s"${this.getClass.getSimpleName.replace("$", "")}-results.txt"
    +      val file = new File(s"benchmarks/$resultFileName")
    +      if (!file.exists()) {
    +        file.createNewFile()
    +      }
    +      output = Some(new FileOutputStream(file))
    --- End diff --
    
    Thanks @dongjoon-hyun. Will fix it next time.


---

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


[GitHub] spark issue #22443: [SPARK-25339][TEST] Refactor FilterPushdownBenchmark

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

    https://github.com/apache/spark/pull/22443
  
    I see, @cloud-fan .


---

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


[GitHub] spark issue #22443: [SPARK-25339][TEST] Refactor FilterPushdownBenchmark

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

    https://github.com/apache/spark/pull/22443
  
    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 #22443: [SPARK-25339][TESTS] Refactor FilterPushdownBenchmark

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

    https://github.com/apache/spark/pull/22443
  
    **[Test build #96148 has finished](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/96148/testReport)** for PR 22443 at commit [`6e7cfc8`](https://github.com/apache/spark/commit/6e7cfc85d4d7719ee31254317b0ca81173be7128).
     * 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 #22443: [SPARK-25339][TEST] Refactor FilterPushdownBenchmark

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

    https://github.com/apache/spark/pull/22443
  
    @dongjoon-hyun we are trying to avoid the overhead of scalatest, not sbt. So this LGTM


---

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


[GitHub] spark issue #22443: [SPARK-25339][TEST] Refactor FilterPushdownBenchmark

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

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


---

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


[GitHub] spark issue #22443: [SPARK-25339][TESTS] Refactor FilterPushdownBenchmark

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

    https://github.com/apache/spark/pull/22443
  
    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 #22443: [SPARK-25339][TEST] Refactor FilterPushdownBenchmark

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

    https://github.com/apache/spark/pull/22443
  
    **[Test build #96223 has finished](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/96223/testReport)** for PR 22443 at commit [`075ef7a`](https://github.com/apache/spark/commit/075ef7a0696332c3b9d35ff1750ea7ade08e7c3d).
     * 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 #22443: [SPARK-25339][TEST] Refactor FilterPushdownBenchmark

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

    https://github.com/apache/spark/pull/22443
  
    **[Test build #96223 has started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/96223/testReport)** for PR 22443 at commit [`075ef7a`](https://github.com/apache/spark/commit/075ef7a0696332c3b9d35ff1750ea7ade08e7c3d).


---

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


[GitHub] spark issue #22443: [SPARK-25339][TEST] Refactor FilterPushdownBenchmark

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

    https://github.com/apache/spark/pull/22443
  
    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 #22443: [SPARK-25339][TESTS] Refactor FilterPushdownBenchmark

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

    https://github.com/apache/spark/pull/22443
  
    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-unified/3165/
    Test PASSed.


---

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


[GitHub] spark issue #22443: [SPARK-25339][TEST] Refactor FilterPushdownBenchmark

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

    https://github.com/apache/spark/pull/22443
  
    retest this please


---

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


[GitHub] spark pull request #22443: [SPARK-25339][TEST] Refactor FilterPushdownBenchm...

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

    https://github.com/apache/spark/pull/22443#discussion_r218535655
  
    --- Diff: sql/core/src/test/scala/org/apache/spark/sql/execution/benchmark/FilterPushdownBenchmark.scala ---
    @@ -17,29 +17,28 @@
     
     package org.apache.spark.sql.execution.benchmark
     
    -import java.io.{File, FileOutputStream, OutputStream}
    +import java.io.File
     
     import scala.util.{Random, Try}
     
    -import org.scalatest.{BeforeAndAfterEachTestData, Suite, TestData}
    -
     import org.apache.spark.SparkConf
    -import org.apache.spark.SparkFunSuite
     import org.apache.spark.sql.{DataFrame, SparkSession}
     import org.apache.spark.sql.functions.monotonically_increasing_id
     import org.apache.spark.sql.internal.SQLConf
     import org.apache.spark.sql.internal.SQLConf.ParquetOutputTimestampType
     import org.apache.spark.sql.types.{ByteType, Decimal, DecimalType, TimestampType}
    -import org.apache.spark.util.{Benchmark, Utils}
    +import org.apache.spark.util.{Benchmark, BenchmarkBase => FileBenchmarkBase, Utils}
     
     /**
      * Benchmark to measure read performance with Filter pushdown.
    - * To run this:
    - *  build/sbt "sql/test-only *FilterPushdownBenchmark"
    - *
    - * Results will be written to "benchmarks/FilterPushdownBenchmark-results.txt".
    + * To run this benchmark:
    + *  1. without sbt: bin/spark-submit --class <this class> <spark sql test jar>
    + *  2. build/sbt "sql/test:runMain <this class>"
    + *  3. generate result: SPARK_GENERATE_BENCHMARK_FILES=1 build/sbt "sql/test:runMain <this class>"
    --- End diff --
    
    nit: remove the one space indent before the numbered list


---

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


[GitHub] spark issue #22443: [SPARK-25339][TEST] Refactor FilterPushdownBenchmark

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

    https://github.com/apache/spark/pull/22443
  
    **[Test build #96213 has finished](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/96213/testReport)** for PR 22443 at commit [`075ef7a`](https://github.com/apache/spark/commit/075ef7a0696332c3b9d35ff1750ea7ade08e7c3d).
     * 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 #22443: [SPARK-25339][TEST] Refactor FilterPushdownBenchmark

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

    https://github.com/apache/spark/pull/22443
  
    Thank you for confirmation, @cloud-fan .


---

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


[GitHub] spark issue #22443: [SPARK-25339][TEST] Refactor FilterPushdownBenchmark

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

    https://github.com/apache/spark/pull/22443
  
    https://issues.apache.org/jira/browse/SPARK-25475 is created.


---

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


[GitHub] spark pull request #22443: [SPARK-25339][TEST] Refactor FilterPushdownBenchm...

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

    https://github.com/apache/spark/pull/22443#discussion_r221181428
  
    --- Diff: core/src/main/scala/org/apache/spark/util/BenchmarkBase.scala ---
    @@ -0,0 +1,57 @@
    +/*
    + * 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.util
    +
    +import java.io.{File, FileOutputStream, OutputStream}
    +
    +/**
    + * A base class for generate benchmark results to a file.
    + */
    +abstract class BenchmarkBase {
    +  var output: Option[OutputStream] = None
    +
    +  def benchmark(): Unit
    +
    +  final def runBenchmark(benchmarkName: String)(func: => Any): Unit = {
    +    val separator = "=" * 96
    +    val testHeader = (separator + '\n' + benchmarkName + '\n' + separator + '\n' + '\n').getBytes
    +    output.foreach(_.write(testHeader))
    +    func
    +    output.foreach(_.write('\n'))
    +  }
    +
    +  def main(args: Array[String]): Unit = {
    +    val regenerateBenchmarkFiles: Boolean = System.getenv("SPARK_GENERATE_BENCHMARK_FILES") == "1"
    +    if (regenerateBenchmarkFiles) {
    +      val resultFileName = s"${this.getClass.getSimpleName.replace("$", "")}-results.txt"
    +      val file = new File(s"benchmarks/$resultFileName")
    +      if (!file.exists()) {
    +        file.createNewFile()
    +      }
    +      output = Some(new FileOutputStream(file))
    --- End diff --
    
    nit: `Option(new FileOutputStream(file))` and remove `if (o != null) {` below.


---

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


[GitHub] spark issue #22443: [SPARK-25339][TEST] Refactor FilterPushdownBenchmark

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

    https://github.com/apache/spark/pull/22443
  
    Thank you, @gengliangwang !


---

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


[GitHub] spark issue #22443: [SPARK-25339][TEST] Refactor FilterPushdownBenchmark

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

    https://github.com/apache/spark/pull/22443
  
    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 #22443: [SPARK-25339][TESTS] Refactor FilterPushdownBenchmark

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

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


---

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


[GitHub] spark issue #22443: [SPARK-25339][TEST] Refactor FilterPushdownBenchmark

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

    https://github.com/apache/spark/pull/22443
  
    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-unified/3209/
    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 #22443: [SPARK-25339][TEST] Refactor FilterPushdownBenchm...

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

    https://github.com/apache/spark/pull/22443#discussion_r218293821
  
    --- Diff: sql/core/src/test/scala/org/apache/spark/sql/execution/benchmark/FilterPushdownBenchmark.scala ---
    @@ -17,29 +17,28 @@
     
     package org.apache.spark.sql.execution.benchmark
     
    -import java.io.{File, FileOutputStream, OutputStream}
    +import java.io.File
     
     import scala.util.{Random, Try}
     
    -import org.scalatest.{BeforeAndAfterEachTestData, Suite, TestData}
    -
     import org.apache.spark.SparkConf
    -import org.apache.spark.SparkFunSuite
     import org.apache.spark.sql.{DataFrame, SparkSession}
     import org.apache.spark.sql.functions.monotonically_increasing_id
     import org.apache.spark.sql.internal.SQLConf
     import org.apache.spark.sql.internal.SQLConf.ParquetOutputTimestampType
     import org.apache.spark.sql.types.{ByteType, Decimal, DecimalType, TimestampType}
    -import org.apache.spark.util.{Benchmark, Utils}
    +import org.apache.spark.util.{Benchmark, BenchmarkBase => FileBenchmarkBase, Utils}
     
     /**
      * Benchmark to measure read performance with Filter pushdown.
    - * To run this:
    - *  build/sbt "sql/test-only *FilterPushdownBenchmark"
    - *
    - * Results will be written to "benchmarks/FilterPushdownBenchmark-results.txt".
    + * To run this benchmark:
    + *  1. without sbt: bin/spark-submit --class <this class> <spark sql test jar>
    + *  2. build/sbt "sql/test:runMain <this class>"
    + *  3. generate result: SPARK_GENERATE_BENCHMARK_FILES=1 build/sbt "sql/test:runMain <this class>"
    --- End diff --
    
    IIRC there is a special `OutputStream` that can print the output to console.


---

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


[GitHub] spark issue #22443: [SPARK-25339][TEST] Refactor FilterPushdownBenchmark

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

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


---

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


[GitHub] spark issue #22443: [SPARK-25339][TEST] Refactor FilterPushdownBenchmark

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

    https://github.com/apache/spark/pull/22443
  
    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 #22443: [SPARK-25339][TEST] Refactor FilterPushdownBenchmark

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

    https://github.com/apache/spark/pull/22443
  
    @dongjoon-hyun No problem. I was waiting for this PR to be merged.


---

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


[GitHub] spark issue #22443: [SPARK-25339][TESTS] Refactor FilterPushdownBenchmark

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

    https://github.com/apache/spark/pull/22443
  
    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 #22443: [SPARK-25339][TEST] Refactor FilterPushdownBenchm...

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

    https://github.com/apache/spark/pull/22443#discussion_r221181595
  
    --- Diff: core/src/main/scala/org/apache/spark/util/BenchmarkBase.scala ---
    @@ -0,0 +1,57 @@
    +/*
    + * 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.util
    +
    +import java.io.{File, FileOutputStream, OutputStream}
    +
    +/**
    + * A base class for generate benchmark results to a file.
    + */
    +abstract class BenchmarkBase {
    +  var output: Option[OutputStream] = None
    +
    +  def benchmark(): Unit
    +
    +  final def runBenchmark(benchmarkName: String)(func: => Any): Unit = {
    +    val separator = "=" * 96
    +    val testHeader = (separator + '\n' + benchmarkName + '\n' + separator + '\n' + '\n').getBytes
    +    output.foreach(_.write(testHeader))
    +    func
    +    output.foreach(_.write('\n'))
    +  }
    +
    +  def main(args: Array[String]): Unit = {
    +    val regenerateBenchmarkFiles: Boolean = System.getenv("SPARK_GENERATE_BENCHMARK_FILES") == "1"
    +    if (regenerateBenchmarkFiles) {
    +      val resultFileName = s"${this.getClass.getSimpleName.replace("$", "")}-results.txt"
    +      val file = new File(s"benchmarks/$resultFileName")
    +      if (!file.exists()) {
    +        file.createNewFile()
    +      }
    +      output = Some(new FileOutputStream(file))
    --- End diff --
    
    Please address them when you fix some codes around here.


---

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


[GitHub] spark pull request #22443: [SPARK-25339][TEST] Refactor FilterPushdownBenchm...

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

    https://github.com/apache/spark/pull/22443#discussion_r218642335
  
    --- Diff: sql/core/src/test/scala/org/apache/spark/sql/execution/benchmark/FilterPushdownBenchmark.scala ---
    @@ -17,29 +17,28 @@
     
     package org.apache.spark.sql.execution.benchmark
     
    -import java.io.{File, FileOutputStream, OutputStream}
    +import java.io.File
     
     import scala.util.{Random, Try}
     
    -import org.scalatest.{BeforeAndAfterEachTestData, Suite, TestData}
    -
     import org.apache.spark.SparkConf
    -import org.apache.spark.SparkFunSuite
     import org.apache.spark.sql.{DataFrame, SparkSession}
     import org.apache.spark.sql.functions.monotonically_increasing_id
     import org.apache.spark.sql.internal.SQLConf
     import org.apache.spark.sql.internal.SQLConf.ParquetOutputTimestampType
     import org.apache.spark.sql.types.{ByteType, Decimal, DecimalType, TimestampType}
    -import org.apache.spark.util.{Benchmark, Utils}
    +import org.apache.spark.util.{Benchmark, BenchmarkBase => FileBenchmarkBase, Utils}
     
     /**
      * Benchmark to measure read performance with Filter pushdown.
    - * To run this:
    - *  build/sbt "sql/test-only *FilterPushdownBenchmark"
    - *
    - * Results will be written to "benchmarks/FilterPushdownBenchmark-results.txt".
    + * To run this benchmark:
    + *  1. without sbt: bin/spark-submit --class <this class> <spark sql test jar>
    + *  2. build/sbt "sql/test:runMain <this class>"
    + *  3. generate result: SPARK_GENERATE_BENCHMARK_FILES=1 build/sbt "sql/test:runMain <this class>"
    --- End diff --
    
    Thanks


---

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


[GitHub] spark issue #22443: [SPARK-25339][TEST] Refactor FilterPushdownBenchmark

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

    https://github.com/apache/spark/pull/22443
  
    **[Test build #96213 has started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/96213/testReport)** for PR 22443 at commit [`075ef7a`](https://github.com/apache/spark/commit/075ef7a0696332c3b9d35ff1750ea7ade08e7c3d).


---

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


[GitHub] spark issue #22443: [SPARK-25339][TEST] Refactor FilterPushdownBenchmark

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

    https://github.com/apache/spark/pull/22443
  
    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-unified/3218/
    Test PASSed.


---

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


[GitHub] spark issue #22443: [SPARK-25339][TEST] Refactor FilterPushdownBenchmark

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

    https://github.com/apache/spark/pull/22443
  
    **[Test build #96234 has finished](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/96234/testReport)** for PR 22443 at commit [`075ef7a`](https://github.com/apache/spark/commit/075ef7a0696332c3b9d35ff1750ea7ade08e7c3d).
     * 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 pull request #22443: [SPARK-25339][TEST] Refactor FilterPushdownBenchm...

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

    https://github.com/apache/spark/pull/22443#discussion_r221181170
  
    --- Diff: core/src/main/scala/org/apache/spark/util/BenchmarkBase.scala ---
    @@ -0,0 +1,57 @@
    +/*
    + * 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.util
    +
    +import java.io.{File, FileOutputStream, OutputStream}
    +
    +/**
    + * A base class for generate benchmark results to a file.
    + */
    +abstract class BenchmarkBase {
    +  var output: Option[OutputStream] = None
    +
    +  def benchmark(): Unit
    +
    +  final def runBenchmark(benchmarkName: String)(func: => Any): Unit = {
    +    val separator = "=" * 96
    +    val testHeader = (separator + '\n' + benchmarkName + '\n' + separator + '\n' + '\n').getBytes
    +    output.foreach(_.write(testHeader))
    +    func
    +    output.foreach(_.write('\n'))
    +  }
    +
    +  def main(args: Array[String]): Unit = {
    +    val regenerateBenchmarkFiles: Boolean = System.getenv("SPARK_GENERATE_BENCHMARK_FILES") == "1"
    +    if (regenerateBenchmarkFiles) {
    +      val resultFileName = s"${this.getClass.getSimpleName.replace("$", "")}-results.txt"
    +      val file = new File(s"benchmarks/$resultFileName")
    +      if (!file.exists()) {
    +        file.createNewFile()
    +      }
    +      output = Some(new FileOutputStream(file))
    --- End diff --
    
    nit: try-catch and close it.


---

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


[GitHub] spark issue #22443: [SPARK-25339][TESTS] Refactor FilterPushdownBenchmark

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

    https://github.com/apache/spark/pull/22443
  
    2 and 3 are possible and convenient as you mentioned. But, we are trying to avoid 2 and 3, aren't we?
    ```
    2. build/sbt "sql/test:runMain org.apache.spark.sql.execution.benchmark.FilterPushdownBenchmark"
    3. SPARK_GENERATE_BENCHMARK_FILES=1 build/sbt "sql/test:runMain org.apache.spark.sql.execution.benchmark.FilterPushdownBenchmark"
    ```
    Please correct me if I'm wrong, @cloud-fan .


---

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