Skip to content
Snippets Groups Projects
  1. Apr 19, 2016
    • Sun Rui's avatar
      [SPARK-13905][SPARKR] Change signature of as.data.frame() to be consistent with the R base package. · 8eedf0b5
      Sun Rui authored
      ## What changes were proposed in this pull request?
      
      Change the signature of as.data.frame() to be consistent with that in the R base package to meet R user's convention.
      
      ## How was this patch tested?
      dev/lint-r
      SparkR unit tests
      
      Author: Sun Rui <rui.sun@intel.com>
      
      Closes #11811 from sun-rui/SPARK-13905.
      8eedf0b5
    • Lianhui Wang's avatar
      [SPARK-14705][YARN] support Multiple FileSystem for YARN STAGING DIR · 4514aebd
      Lianhui Wang authored
      ## What changes were proposed in this pull request?
      In SPARK-13063, It makes the SPARK YARN STAGING DIR as configurable. But it only support default FileSystem. If there are many clusters, It can be different FileSystem for different cluster in our spark.
      
      ## How was this patch tested?
      I have tested it successfully with following commands:
      MASTER=yarn-client ./bin/spark-shell --conf spark.yarn.stagingDir=hdfs:namenode2/temp
      $SPARK_HOME/bin/spark-submit --conf spark.yarn.stagingDir=hdfs:namenode2/temp
      
      cc tgravescs vanzin andrewor14
      
      Author: Lianhui Wang <lianhuiwang09@gmail.com>
      
      Closes #12473 from lianhuiwang/SPARK-14705.
      4514aebd
    • Joan's avatar
      [SPARK-13929] Use Scala reflection for UDTs · 3ae25f24
      Joan authored
      ## What changes were proposed in this pull request?
      
      Enable ScalaReflection and User Defined Types for plain Scala classes.
      
      This involves the move of `schemaFor` from `ScalaReflection` trait (which is Runtime and Compile time (macros) reflection) to the `ScalaReflection` object (runtime reflection only) as I believe this code wouldn't work at compile time anyway as it manipulates `Class`'s that are not compiled yet.
      
      ## How was this patch tested?
      
      Unit test
      
      Author: Joan <joan@goyeau.com>
      
      Closes #12149 from joan38/SPARK-13929-Scala-reflection.
      3ae25f24
    • Cheng Lian's avatar
      [SPARK-14407][SQL] Hides HadoopFsRelation related data source API into... · 10f273d8
      Cheng Lian authored
      [SPARK-14407][SQL] Hides HadoopFsRelation related data source API into execution/datasources package #12178
      
      ## What changes were proposed in this pull request?
      
      This PR moves `HadoopFsRelation` related data source API into `execution/datasources` package.
      
      Note that to avoid conflicts, this PR is based on #12153. Effective changes for this PR only consist of the last three commits. Will rebase after merging #12153.
      
      ## How was this patch tested?
      
      Existing tests.
      
      Author: Yin Huai <yhuai@databricks.com>
      Author: Cheng Lian <lian@databricks.com>
      
      Closes #12361 from liancheng/spark-14407-hide-hadoop-fs-relation.
      10f273d8
    • felixcheung's avatar
      [SPARK-14717] [PYTHON] Scala, Python APIs for Dataset.unpersist differ in default blocking value · 36641423
      felixcheung authored
      ## What changes were proposed in this pull request?
      
      Change unpersist blocking parameter default value to match Scala
      
      ## How was this patch tested?
      
      unit tests, manual tests
      
      jkbradley davies
      
      Author: felixcheung <felixcheung_m@hotmail.com>
      
      Closes #12507 from felixcheung/pyunpersist.
      36641423
    • Josh Rosen's avatar
    • felixcheung's avatar
      [SPARK-12224][SPARKR] R support for JDBC source · ecd877e8
      felixcheung authored
      Add R API for `read.jdbc`, `write.jdbc`.
      
      Tested this quite a bit manually with different combinations of parameters. It's not clear if we could have automated tests in R for this - Scala `JDBCSuite` depends on Java H2 in-memory database.
      
      Refactored some code into util so they could be tested.
      
      Core's R SerDe code needs to be updated to allow access to java.util.Properties as `jobj` handle which is required by DataFrameReader/Writer's `jdbc` method. It would be possible, though more code to add a `sql/r/SQLUtils` helper function.
      
      Tested:
      ```
      # with postgresql
      ../bin/sparkR --driver-class-path /usr/share/java/postgresql-9.4.1207.jre7.jar
      
      # read.jdbc
      df <- read.jdbc(sqlContext, "jdbc:postgresql://localhost/db", "films2", user = "user", password = "12345")
      df <- read.jdbc(sqlContext, "jdbc:postgresql://localhost/db", "films2", user = "user", password = 12345)
      
      # partitionColumn and numPartitions test
      df <- read.jdbc(sqlContext, "jdbc:postgresql://localhost/db", "films2", partitionColumn = "did", lowerBound = 0, upperBound = 200, numPartitions = 4, user = "user", password = 12345)
      a <- SparkR:::toRDD(df)
      SparkR:::getNumPartitions(a)
      [1] 4
      SparkR:::collectPartition(a, 2L)
      
      # defaultParallelism test
      df <- read.jdbc(sqlContext, "jdbc:postgresql://localhost/db", "films2", partitionColumn = "did", lowerBound = 0, upperBound = 200, user = "user", password = 12345)
      SparkR:::getNumPartitions(a)
      [1] 2
      
      # predicates test
      df <- read.jdbc(sqlContext, "jdbc:postgresql://localhost/db", "films2", predicates = list("did<=105"), user = "user", password = 12345)
      count(df) == 1
      
      # write.jdbc, default save mode "error"
      irisDf <- as.DataFrame(sqlContext, iris)
      write.jdbc(irisDf, "jdbc:postgresql://localhost/db", "films2", user = "user", password = "12345")
      "error, already exists"
      
      write.jdbc(irisDf, "jdbc:postgresql://localhost/db", "iris", user = "user", password = "12345")
      ```
      
      Author: felixcheung <felixcheung_m@hotmail.com>
      
      Closes #10480 from felixcheung/rreadjdbc.
      ecd877e8
    • Eric Liang's avatar
      [SPARK-14733] Allow custom timing control in microbenchmarks · 008a8bbe
      Eric Liang authored
      ## What changes were proposed in this pull request?
      
      The current benchmark framework runs a code block for several iterations and reports statistics. However there is no way to exclude per-iteration setup time from the overall results. This PR adds a timer control object passed into the closure that can be used for this purpose.
      
      ## How was this patch tested?
      
      Existing benchmark code. Also see https://github.com/apache/spark/pull/12490
      
      Author: Eric Liang <ekl@databricks.com>
      
      Closes #12502 from ericl/spark-14733.
      008a8bbe
    • Herman van Hovell's avatar
      [SPARK-4226] [SQL] Support IN/EXISTS Subqueries · da885922
      Herman van Hovell authored
      ### What changes were proposed in this pull request?
      This PR adds support for in/exists predicate subqueries to Spark. Predicate sub-queries are used as a filtering condition in a query (this is the only supported use case). A predicate sub-query comes in two forms:
      
      - `[NOT] EXISTS(subquery)`
      - `[NOT] IN (subquery)`
      
      This PR is (loosely) based on the work of davies (https://github.com/apache/spark/pull/10706) and chenghao-intel (https://github.com/apache/spark/pull/9055). They should be credited for the work they did.
      
      ### How was this patch tested?
      Modified parsing unit tests.
      Added tests to `org.apache.spark.sql.SQLQuerySuite`
      
      cc rxin, davies & chenghao-intel
      
      Author: Herman van Hovell <hvanhovell@questtec.nl>
      
      Closes #12306 from hvanhovell/SPARK-4226.
      da885922
    • Nezih Yigitbasi's avatar
      [SPARK-14042][CORE] Add custom coalescer support · 3c91afec
      Nezih Yigitbasi authored
      ## What changes were proposed in this pull request?
      
      This PR adds support for specifying an optional custom coalescer to the `coalesce()` method. Currently I have only added this feature to the `RDD` interface, and once we sort out the details we can proceed with adding this feature to the other APIs (`Dataset` etc.)
      
      ## How was this patch tested?
      
      Added a unit test for this functionality.
      
      /cc rxin (per our discussion on the mailing list)
      
      Author: Nezih Yigitbasi <nyigitbasi@netflix.com>
      
      Closes #11865 from nezihyigitbasi/custom_coalesce_policy.
      3c91afec
    • Kazuaki Ishizaki's avatar
      [SPARK-14656][CORE] Fix Benchmark.getPorcessorName() always return "Unknown processor" on Linux · 0b8369d8
      Kazuaki Ishizaki authored
      ## What changes were proposed in this pull request?
      This PR returns correct processor name in ```/proc/cpuinfo``` on Linux from  ```Benchmark.getPorcessorName()```. Now, this return ```Unknown processor```.
      Since ```Utils.executeAndGetOutput(Seq("which", "grep"))``` return ```/bin/grep\n```, it is failed to execute ```/bin/grep\n```. This PR strips ```\n``` at the end of the line of a result of ```Utils.executeAndGetOutput()```
      
      Before applying this PR
      ````
      Java HotSpot(TM) 64-Bit Server VM 1.8.0_66-b17 on Linux 2.6.32-504.el6.x86_64
      Unknown processor
      back-to-back filter:                Best/Avg Time(ms)    Rate(M/s)   Per Row(ns)   Relative
      -------------------------------------------------------------------------------------------
      Dataset                                   472 /  503         21.2          47.2       1.0X
      DataFrame                                  51 /   58        198.0           5.1       9.3X
      RDD                                       189 /  211         52.8          18.9       2.5X
      ````
      
      After applying this PR
      ```
      Java HotSpot(TM) 64-Bit Server VM 1.8.0_66-b17 on Linux 2.6.32-504.el6.x86_64
      Intel(R) Xeon(R) CPU E5-2667 v2  3.30GHz
      back-to-back filter:                Best/Avg Time(ms)    Rate(M/s)   Per Row(ns)   Relative
      -------------------------------------------------------------------------------------------
      Dataset                                   490 /  502         20.4          49.0       1.0X
      DataFrame                                  55 /   61        183.4           5.5       9.0X
      RDD                                       210 /  237         47.7          21.0       2.3X
      ```
      
      ## How was this patch tested?
      Run Benchmark programs on Linux by hand
      
      Author: Kazuaki Ishizaki <ishizaki@jp.ibm.com>
      
      Closes #12411 from kiszk/SPARK-14656.
      0b8369d8
    • Wenchen Fan's avatar
      [SPARK-14675][SQL] ClassFormatError when use Seq as Aggregator buffer type · 5cb2e336
      Wenchen Fan authored
      ## What changes were proposed in this pull request?
      
      After https://github.com/apache/spark/pull/12067, we now use expressions to do the aggregation in `TypedAggregateExpression`. To implement buffer merge, we produce a new buffer deserializer expression by replacing `AttributeReference` with right-side buffer attribute, like other `DeclarativeAggregate`s do, and finally combine the left and right buffer deserializer with `Invoke`.
      
      However, after https://github.com/apache/spark/pull/12338, we will add loop variable to class members when codegen `MapObjects`. If the `Aggregator` buffer type is `Seq`, which is implemented by `MapObjects` expression, we will add the same loop variable to class members twice(by left and right buffer deserializer), which cause the `ClassFormatError`.
      
      This PR fixes this issue by calling `distinct` before declare the class menbers.
      
      ## How was this patch tested?
      
      new regression test in `DatasetAggregatorSuite`
      
      Author: Wenchen Fan <wenchen@databricks.com>
      
      Closes #12468 from cloud-fan/bug.
      5cb2e336
    • Josh Rosen's avatar
      [SPARK-14676] Wrap and re-throw Await.result exceptions in order to capture full stacktrace · 947b9020
      Josh Rosen authored
      When `Await.result` throws an exception which originated from a different thread, the resulting stacktrace doesn't include the path leading to the `Await.result` call itself, making it difficult to identify the impact of these exceptions. For example, I've seen cases where broadcast cleaning errors propagate to the main thread and crash it but the resulting stacktrace doesn't include any of the main thread's code, making it difficult to pinpoint which exception crashed that thread.
      
      This patch addresses this issue by explicitly catching, wrapping, and re-throwing exceptions that are thrown by `Await.result`.
      
      I tested this manually using https://github.com/JoshRosen/spark/commit/16b31c825197ee31a50214c6ba3c1df08148f403, a patch which reproduces an issue where an RPC exception which occurs while unpersisting RDDs manages to crash the main thread without any useful stacktrace, and verified that informative, full stacktraces were generated after applying the fix in this PR.
      
      /cc rxin nongli yhuai anabranch
      
      Author: Josh Rosen <joshrosen@databricks.com>
      
      Closes #12433 from JoshRosen/wrap-and-rethrow-await-exceptions.
      947b9020
    • gatorsmile's avatar
      [SPARK-12457] Fixed the Wrong Description and Missing Example in Collection Functions · d9620e76
      gatorsmile authored
      #### What changes were proposed in this pull request?
      https://github.com/apache/spark/pull/12185 contains the original PR I submitted in https://github.com/apache/spark/pull/10418
      
      However, it misses one of the extended example, a wrong description and a few typos for collection functions. This PR is fix all these issues.
      
      #### How was this patch tested?
      The existing test cases already cover it.
      
      Author: gatorsmile <gatorsmile@gmail.com>
      
      Closes #12492 from gatorsmile/expressionUpdate.
      d9620e76
    • tedyu's avatar
      [SPARK-13904] Add exit code parameter to exitExecutor() · e8963360
      tedyu authored
      ## What changes were proposed in this pull request?
      
      This PR adds exit code parameter to exitExecutor() so that caller can specify different exit code.
      
      ## How was this patch tested?
      
      Existing test
      
      rxin hbhanawat
      
      Author: tedyu <yuzhihong@gmail.com>
      
      Closes #12457 from tedyu/master.
      e8963360
    • Wenchen Fan's avatar
      [SPARK-14491] [SQL] refactor object operator framework to make it easy to eliminate serializations · 9ee95b6e
      Wenchen Fan authored
      ## What changes were proposed in this pull request?
      
      This PR tries to separate the serialization and deserialization logic from object operators, so that it's easier to eliminate unnecessary serializations in optimizer.
      
      Typed aggregate related operators are special, they will deserialize the input row to multiple objects and it's difficult to simply use a deserializer operator to abstract it, so we still mix the deserialization logic there.
      
      ## How was this patch tested?
      
      existing tests and new test in `EliminateSerializationSuite`
      
      Author: Wenchen Fan <wenchen@databricks.com>
      
      Closes #12260 from cloud-fan/encoder.
      9ee95b6e
    • Cheng Lian's avatar
      [SPARK-13681][SPARK-14458][SPARK-14566][SQL] Add back once removed... · 5e360c93
      Cheng Lian authored
      [SPARK-13681][SPARK-14458][SPARK-14566][SQL] Add back once removed CommitFailureTestRelationSuite and SimpleTextHadoopFsRelationSuite
      
      ## What changes were proposed in this pull request?
      
      These test suites were removed while refactoring `HadoopFsRelation` related API. This PR brings them back.
      
      This PR also fixes two regressions:
      
      - SPARK-14458, which causes runtime error when saving partitioned tables using `FileFormat` data sources that are not able to infer their own schemata. This bug wasn't detected by any built-in data sources because all of them happen to have schema inference feature.
      
      - SPARK-14566, which happens to be covered by SPARK-14458 and causes wrong query result or runtime error when
        - appending a Dataset `ds` to a persisted partitioned data source relation `t`, and
        - partition columns in `ds` don't all appear after data columns
      
      ## How was this patch tested?
      
      `CommitFailureTestRelationSuite` uses a testing relation that always fails when committing write tasks to test write job cleanup.
      
      `SimpleTextHadoopFsRelationSuite` uses a testing relation to test general `HadoopFsRelation` and `FileFormat` interfaces.
      
      The two regressions are both covered by existing test cases.
      
      Author: Cheng Lian <lian@databricks.com>
      
      Closes #12179 from liancheng/spark-13681-commit-failure-test.
      5e360c93
    • Dongjoon Hyun's avatar
      [SPARK-14577][SQL] Add spark.sql.codegen.maxCaseBranches config option · 3d46d796
      Dongjoon Hyun authored
      ## What changes were proposed in this pull request?
      
      We currently disable codegen for `CaseWhen` if the number of branches is greater than 20 (in CaseWhen.MAX_NUM_CASES_FOR_CODEGEN). It would be better if this value is a non-public config defined in SQLConf.
      
      ## How was this patch tested?
      
      Pass the Jenkins tests (including a new testcase `Support spark.sql.codegen.maxCaseBranches option`)
      
      Author: Dongjoon Hyun <dongjoon@apache.org>
      
      Closes #12353 from dongjoon-hyun/SPARK-14577.
      3d46d796
    • bomeng's avatar
      [SPARK-14398][SQL] Audit non-reserved keyword list in ANTLR4 parser · 74fe235a
      bomeng authored
      ## What changes were proposed in this pull request?
      
      I have compared non-reserved list in Antlr3 and Antlr4 one by one as well as all the existing keywords defined in Antlr4, added the missing keywords to the non-reserved keywords list.  If we need to support more syntax, we can add more keywords by then.
      
      Any recommendation for the above is welcome.
      
      ## How was this patch tested?
      
      I manually checked the keywords one by one. Please let me know if there is a better way to test.
      
      Another thought: I suggest to put all the keywords definition and non-reserved list in order, that will be much easier to check in the future.
      
      Author: bomeng <bmeng@us.ibm.com>
      
      Closes #12191 from bomeng/SPARK-14398.
      74fe235a
    • Wenchen Fan's avatar
      [SPARK-14595][SQL] add input metrics for FileScanRDD · d4b94ead
      Wenchen Fan authored
      ## What changes were proposed in this pull request?
      
      This is roughly based on the input metrics logic in `SqlNewHadoopRDD`
      
      ## How was this patch tested?
      
      Not sure how to write a test, I manually verified it in Spark UI.
      
      Author: Wenchen Fan <wenchen@databricks.com>
      
      Closes #12352 from cloud-fan/metrics.
      d4b94ead
  2. Apr 18, 2016
    • Sameer Agarwal's avatar
      [SPARK-14722][SQL] Rename upstreams() -> inputRDDs() in WholeStageCodegen · 6f880068
      Sameer Agarwal authored
      ## What changes were proposed in this pull request?
      
      Per rxin's suggestions, this patch renames `upstreams()` to `inputRDDs()` in `WholeStageCodegen` for better implied semantics
      
      ## How was this patch tested?
      
      N/A
      
      Author: Sameer Agarwal <sameer@databricks.com>
      
      Closes #12486 from sameeragarwal/codegen-cleanup.
      6f880068
    • Sameer Agarwal's avatar
      [SPARK-14718][SQL] Avoid mutating ExprCode in doGenCode · 4eae1dbd
      Sameer Agarwal authored
      ## What changes were proposed in this pull request?
      
      The `doGenCode` method currently takes in an `ExprCode`, mutates it and returns the java code to evaluate the given expression. It should instead just return a new `ExprCode` to avoid passing around mutable objects during code generation.
      
      ## How was this patch tested?
      
      Existing Tests
      
      Author: Sameer Agarwal <sameer@databricks.com>
      
      Closes #12483 from sameeragarwal/new-exprcode-2.
      4eae1dbd
    • Josh Rosen's avatar
      [SPARK-14719] WriteAheadLogBasedBlockHandler should ignore BlockManager put errors · ed2de029
      Josh Rosen authored
      WriteAheadLogBasedBlockHandler will currently throw exceptions if its BlockManager `put()` calls fail, even though those calls are only performed as a performance optimization. Instead, it should log and ignore exceptions during that `put()`.
      
      This is a longstanding issue that was masked by an incorrect test case. I think that we haven't noticed this in production because
      
      1. most people probably use a `MEMORY_AND_DISK` storage level, and
      2. typically, individual blocks may be small enough relative to the total storage memory such that they're able to evict blocks from previous batches, so `put()` failures here may be rare in practice.
      
      This patch fixes the faulty test and fixes the bug.
      
      /cc tdas
      
      Author: Josh Rosen <joshrosen@databricks.com>
      
      Closes #12484 from JoshRosen/received-block-hadndler-fix.
      ed2de029
    • Reynold Xin's avatar
      [SPARK-14667] Remove HashShuffleManager · 5e92583d
      Reynold Xin authored
      ## What changes were proposed in this pull request?
      The sort shuffle manager has been the default since Spark 1.2. It is time to remove the old hash shuffle manager.
      
      ## How was this patch tested?
      Removed some tests related to the old manager.
      
      Author: Reynold Xin <rxin@databricks.com>
      
      Closes #12423 from rxin/SPARK-14667.
      5e92583d
    • CodingCat's avatar
      [SPARK-13227] Risky apply() in OpenHashMap · 4b3d1294
      CodingCat authored
      https://issues.apache.org/jira/browse/SPARK-13227
      
      It might confuse the future developers when they use OpenHashMap.apply() with a numeric value type.
      
      null.asInstance[Int], null.asInstance[Long], null.asInstace[Float] and null.asInstance[Double] will return 0/0.0/0L, which might confuse the developer if the value set contains 0/0.0/0L with an existing key
      
      The current patch only adds the comments describing the issue, with the respect to apply the minimum changes to the code base
      
      The more direct, yet more aggressive, approach is use Option as the return type
      
      andrewor14  JoshRosen  any thoughts about how to avoid the potential issue?
      
      Author: CodingCat <zhunansjtu@gmail.com>
      
      Closes #11107 from CodingCat/SPARK-13227.
      4b3d1294
    • Mark Grover's avatar
      [SPARK-14711][BUILD] Examples jar not a part of distribution. · 2b151b6b
      Mark Grover authored
      ## What changes were proposed in this pull request?
      
      Move the spark-examples.jar from being in examples/target to examples/target/scala-2.11/jars
      
      ## How was this patch tested?
      
      Built distribution to make sure examples jar was being included in the tarball.
      Ran run-example to make sure examples were run.
      
      Author: Mark Grover <mark@apache.org>
      
      Closes #12476 from markgrover/spark-14711.
      2b151b6b
    • Joseph K. Bradley's avatar
      [SPARK-14714][ML][PYTHON] Fixed issues with non-kwarg typeConverter arg for Param constructor · d29e429e
      Joseph K. Bradley authored
      ## What changes were proposed in this pull request?
      
      PySpark Param constructors need to pass the TypeConverter argument by name, partly to make sure it is not mistaken for the expectedType arg and partly because we will remove the expectedType arg in 2.1. In several places, this is not being done correctly.
      
      This PR changes all usages in pyspark/ml/ to keyword args.
      
      ## How was this patch tested?
      
      Existing unit tests.  I will not test type conversion for every Param unless we really think it necessary.
      
      Also, if you start the PySpark shell and import classes (e.g., pyspark.ml.feature.StandardScaler), then you no longer get this warning:
      ```
      /Users/josephkb/spark/python/pyspark/ml/param/__init__.py:58: UserWarning: expectedType is deprecated and will be removed in 2.1. Use typeConverter instead, as a keyword argument.
        "Use typeConverter instead, as a keyword argument.")
      ```
      That warning came from the typeConverter argument being passes as the expectedType arg by mistake.
      
      Author: Joseph K. Bradley <joseph@databricks.com>
      
      Closes #12480 from jkbradley/typeconverter-fix.
      d29e429e
    • Zheng RuiFeng's avatar
      [SPARK-14515][DOC] Add python example for ChiSqSelector · 9bfb35da
      Zheng RuiFeng authored
      ## What changes were proposed in this pull request?
      Add the missing python example for ChiSqSelector
      
      ## How was this patch tested?
      manual tests
      
      Author: Zheng RuiFeng <ruifengz@foxmail.com>
      
      Closes #12283 from zhengruifeng/chi2_pe.
      9bfb35da
    • Wenchen Fan's avatar
      [SPARK-14628][CORE][FOLLLOW-UP] Always tracking read/write metrics · 60273408
      Wenchen Fan authored
      ## What changes were proposed in this pull request?
      
      This PR is a follow up for https://github.com/apache/spark/pull/12417, now we always track input/output/shuffle metrics in spark JSON protocol and status API.
      
      Most of the line changes are because of re-generating the gold answer for `HistoryServerSuite`, and we add a lot of 0 values for read/write metrics.
      
      ## How was this patch tested?
      
      existing tests.
      
      Author: Wenchen Fan <wenchen@databricks.com>
      
      Closes #12462 from cloud-fan/follow.
      60273408
    • Shixiong Zhu's avatar
      [SPARK-14713][TESTS] Fix the flaky test NettyBlockTransferServiceSuite · 6ff04358
      Shixiong Zhu authored
      ## What changes were proposed in this pull request?
      
      When there are multiple tests running, "NettyBlockTransferServiceSuite.can bind to a specific port twice and the second increments" may fail.
      
      E.g., assume there are 2 tests running. Here are the execution order to reproduce the test failure.
      
      | Execution Order | Test 1 | Test 2 |
      | ------------- | ------------- | ------------- |
      | 1 | service0 binds to 17634 |  |
      | 2 |  | service0 binds to 17635 (17634 is occupied) |
      | 3 | service1 binds to 17636 |  |
      | 4 | pass test |  |
      | 5 | service0.close (release 17634) |  |
      | 6 |  | service1 binds to 17634 |
      | 7 |  | `service1.port should be (service0.port + 1)` fails (17634 != 17635 + 1) |
      
      Here is an example in Jenkins: https://amplab.cs.berkeley.edu/jenkins/view/Spark%20QA%20Test/job/spark-master-test-maven-hadoop-2.2/786/testReport/junit/org.apache.spark.network.netty/NettyBlockTransferServiceSuite/can_bind_to_a_specific_port_twice_and_the_second_increments/
      
      This PR makes two changes:
      
      - Use a random port between 17634 and 27634 to reduce the possibility of port conflicts.
      - Make `service1` use `service0.port` to bind to avoid the above race condition.
      
      ## How was this patch tested?
      
      Jenkins unit tests.
      
      Author: Shixiong Zhu <shixiong@databricks.com>
      
      Closes #12477 from zsxwing/SPARK-14713.
      6ff04358
    • Luciano Resende's avatar
      [SPARK-14504][SQL] Enable Oracle docker tests · 68450c8c
      Luciano Resende authored
      ## What changes were proposed in this pull request?
      
      Enable Oracle docker tests
      
      ## How was this patch tested?
      
      Existing tests
      
      Author: Luciano Resende <lresende@apache.org>
      
      Closes #12270 from lresende/oracle.
      68450c8c
    • Andrew Or's avatar
      [SPARK-14674][SQL] Move HiveContext.hiveconf to HiveSessionState · f1a11976
      Andrew Or authored
      ## What changes were proposed in this pull request?
      
      This is just cleanup. This allows us to remove HiveContext later without inflating the diff too much. This PR fixes the conflicts of https://github.com/apache/spark/pull/12431. It also removes the `def hiveConf` from `HiveSqlParser`. So, we will pass the HiveConf associated with a session explicitly instead of relying on Hive's `SessionState` to pass `HiveConf`.
      
      ## How was this patch tested?
      Existing tests.
      
      Closes #12431
      
      Author: Andrew Or <andrew@databricks.com>
      Author: Yin Huai <yhuai@databricks.com>
      
      Closes #12449 from yhuai/hiveconf.
      f1a11976
    • Sameer Agarwal's avatar
      [SPARK-14710][SQL] Rename gen/genCode to genCode/doGenCode to better reflect the semantics · 8bd81213
      Sameer Agarwal authored
      ## What changes were proposed in this pull request?
      
      Per rxin's suggestions, this patch renames `s/gen/genCode` and `s/genCode/doGenCode` to better reflect the semantics of these 2 function calls.
      
      ## How was this patch tested?
      
      N/A (refactoring only)
      
      Author: Sameer Agarwal <sameer@databricks.com>
      
      Closes #12475 from sameeragarwal/gencode.
      8bd81213
    • hyukjinkwon's avatar
      [MINOR] Revert removing explicit typing (changed in some examples and StatFunctions) · 6fc1e72d
      hyukjinkwon authored
      ## What changes were proposed in this pull request?
      
      This PR reverts some changes in https://github.com/apache/spark/pull/12413. (please see the discussion in that PR).
      
      from
      ```scala
          words.foreachRDD { (rdd, time) =>
          ...
      ```
      
      to
      ```scala
          words.foreachRDD { (rdd: RDD[String], time: Time) =>
          ...
      ```
      
      Also, this was discussed in dev-mailing list, [here](http://apache-spark-developers-list.1001551.n3.nabble.com/Question-about-Scala-style-explicit-typing-within-transformation-functions-and-anonymous-val-td17173.html)
      
      ## How was this patch tested?
      
      This was tested with `sbt scalastyle`.
      
      Author: hyukjinkwon <gurwls223@gmail.com>
      
      Closes #12452 from HyukjinKwon/revert-explicit-typing.
      6fc1e72d
    • Xusen Yin's avatar
      [SPARK-14299][EXAMPLES] Remove duplications for scala.examples.ml · 8c62edb7
      Xusen Yin authored
      ## What changes were proposed in this pull request?
      
      https://issues.apache.org/jira/browse/SPARK-14299
      
      Delete duplications in scala/examples/ml.
      
      TrainValidationSplitExample.scala --> ModelSelectionViaTrainValidationSplitExample
      CrossValidatorExample.scala --> ModelSelectionViaCrossValidationExample
      
      ## How was this patch tested?
      
      Existing tests passed.
      
      (If this patch involves UI changes, please attach a screenshot; otherwise, remove this)
      
      Author: Xusen Yin <yinxusen@gmail.com>
      
      Closes #12366 from yinxusen/SPARK-14299-2.
      8c62edb7
    • Xusen Yin's avatar
      [SPARK-14440][PYSPARK] Remove pipeline specific reader and writer · f31a62d1
      Xusen Yin authored
      ## What changes were proposed in this pull request?
      
      https://issues.apache.org/jira/browse/SPARK-14440
      
      Remove
      
      * PipelineMLWriter
      * PipelineMLReader
      * PipelineModelMLWriter
      * PipelineModelMLReader
      
      and modify comments.
      
      ## How was this patch tested?
      
      test with unit test.
      
      Author: Xusen Yin <yinxusen@gmail.com>
      
      Closes #12216 from yinxusen/SPARK-14440.
      f31a62d1
    • Andrew Or's avatar
      [SPARK-14647][SQL] Group SQLContext/HiveContext state into SharedState · 28ee1570
      Andrew Or authored
      ## What changes were proposed in this pull request?
      
      This patch adds a SharedState that groups state shared across multiple SQLContexts. This is analogous to the SessionState added in SPARK-13526 that groups session-specific state. This cleanup makes the constructors of the contexts simpler and ultimately allows us to remove HiveContext in the near future.
      
      ## How was this patch tested?
      Existing tests.
      
      Author: Yin Huai <yhuai@databricks.com>
      
      Closes #12463 from yhuai/sharedState.
      28ee1570
    • Reynold Xin's avatar
      [HOTFIX] Fix Scala 2.10 compilation break. · e4ae9742
      Reynold Xin authored
      e4ae9742
    • Jason Lee's avatar
      [SPARK-14564][ML][MLLIB][PYSPARK] Python Word2Vec missing setWindowSize method · 3d66a2ce
      Jason Lee authored
      ## What changes were proposed in this pull request?
      Added windowSize getter/setter to ML/MLlib
      
      ## How was this patch tested?
      Added test cases in tests.py under both ML and MLlib
      
      Author: Jason Lee <cjlee@us.ibm.com>
      
      Closes #12428 from jasoncl/SPARK-14564.
      3d66a2ce
    • Dongjoon Hyun's avatar
      [SPARK-14580][SPARK-14655][SQL] Hive IfCoercion should preserve predicate. · d280d1da
      Dongjoon Hyun authored
      ## What changes were proposed in this pull request?
      
      Currently, `HiveTypeCoercion.IfCoercion` removes all predicates whose return-type are null. However, some UDFs need evaluations because they are designed to throw exceptions. This PR fixes that to preserve the predicates. Also, `assert_true` is implemented as Spark SQL function.
      
      **Before**
      ```
      scala> sql("select if(assert_true(false),2,3)").head
      res2: org.apache.spark.sql.Row = [3]
      ```
      
      **After**
      ```
      scala> sql("select if(assert_true(false),2,3)").head
      ... ASSERT_TRUE ...
      ```
      
      **Hive**
      ```
      hive> select if(assert_true(false),2,3);
      OK
      Failed with exception java.io.IOException:org.apache.hadoop.hive.ql.metadata.HiveException: ASSERT_TRUE(): assertion failed.
      ```
      
      ## How was this patch tested?
      
      Pass the Jenkins tests (including a new testcase in `HivePlanTest`)
      
      Author: Dongjoon Hyun <dongjoon@apache.org>
      
      Closes #12340 from dongjoon-hyun/SPARK-14580.
      d280d1da
Loading