Skip to content
Snippets Groups Projects
  1. Jan 10, 2014
  2. Jan 09, 2014
    • Andrew Or's avatar
      Fix wonky imports from merge · 372a533a
      Andrew Or authored
      372a533a
    • Andrew Or's avatar
      Defensively allocate memory from global pool · aa5002bb
      Andrew Or authored
      This is an alternative to the existing approach, which evenly distributes the
      collective shuffle memory among all running tasks. In the new approach, each
      thread requests a chunk of memory whenever its map is about to multiplicatively
      grow. If there is sufficient memory in the global pool, the thread allocates it
      and grows its map. Otherwise, it spills.
      
      A danger with the previous approach is that a new task may quickly fill up its
      map before old tasks finish spilling, potentially causing an OOM. This approach
      prevents this scenario as it favors existing tasks over new tasks; any thread
      that may step over the boundary of other threads defensively backs off and
      starts spilling.
      
      Testing through spark-perf reveals: (1) When no spills have occured, the
      performance of external sorting using this memory management approach is
      essentially the same as without external sorting. (2) When one or more spills
      have occured, the performance of external sorting is a small multiple (3x) worse
      aa5002bb
    • Andrew Or's avatar
      Merge github.com:apache/incubator-spark · d76e1f90
      Andrew Or authored
      Conflicts:
      	core/src/main/scala/org/apache/spark/SparkEnv.scala
      	streaming/src/test/java/org/apache/spark/streaming/JavaAPISuite.java
      d76e1f90
    • Patrick Wendell's avatar
      Minor clean-up · 7b748b83
      Patrick Wendell authored
      7b748b83
    • Patrick Wendell's avatar
      Merge pull request #353 from pwendell/ipython-simplify · 300eaa99
      Patrick Wendell authored
      Simplify and fix pyspark script.
      
      This patch removes compatibility for IPython < 1.0 but fixes the launch
      script and makes it much simpler.
      
      I tested this using the three commands in the PySpark documentation page:
      
      1. IPYTHON=1 ./pyspark
      2. IPYTHON_OPTS="notebook" ./pyspark
      3. IPYTHON_OPTS="notebook --pylab inline" ./pyspark
      
      There are two changes:
      - We rely on PYTHONSTARTUP env var to start PySpark
      - Removed the quotes around $IPYTHON_OPTS... having quotes
        gloms them together as a single argument passed to `exec` which
        seemed to cause ipython to fail (it instead expects them as
        multiple arguments).
      300eaa99
    • Tathagata Das's avatar
    • Tathagata Das's avatar
      Fixed bugs in reading of checkpoints. · 4a5558ca
      Tathagata Das authored
      4a5558ca
    • Reynold Xin's avatar
      Merge pull request #374 from mateiz/completeness · 4b074fac
      Reynold Xin authored
      Add some missing Java API methods
      
      These are primarily for setting job groups, canceling jobs, and setting names on RDDs. Seemed like useful stuff to expose in Java.
      4b074fac
    • Reynold Xin's avatar
      Merge pull request #294 from RongGu/master · a9d53333
      Reynold Xin authored
      Bug fixes for updating the RDD block's memory and disk usage information
      
      Bug fixes for updating the RDD block's memory and disk usage information.
      From the code context, we can find that the memSize and diskSize here are both always equal to the size of the block. Actually, they never be zero. Thus, the logic here is wrong for recording the block usage in BlockStatus, especially for the blocks which are dropped from memory to ensure space for the new input rdd blocks. I have tested it that this would cause the storage metrics shown in the Storage webpage wrong and misleading. With this patch, the metrics will be okay.
       Finally, Merry Christmas, guys:)
      a9d53333
    • Patrick Wendell's avatar
      Small fix suggested by josh · 77ca9e1b
      Patrick Wendell authored
      77ca9e1b
    • Patrick Wendell's avatar
      Merge pull request #293 from pwendell/standalone-driver · d86a85e9
      Patrick Wendell authored
      SPARK-998: Support Launching Driver Inside of Standalone Mode
      
      [NOTE: I need to bring the tests up to date with new changes, so for now they will fail]
      
      This patch provides support for launching driver programs inside of a standalone cluster manager. It also supports monitoring and re-launching of driver programs which is useful for long running, recoverable applications such as Spark Streaming jobs. For those jobs, this patch allows a deployment mode which is resilient to the failure of any worker node, failure of a master node (provided a multi-master setup), and even failures of the applicaiton itself, provided they are recoverable on a restart. Driver information, such as the status and logs from a driver, is displayed in the UI
      
      There are a few small TODO's here, but the code is generally feature-complete. They are:
      - Bring tests up to date and add test coverage
      - Restarting on failure should be optional and maybe off by default.
      - See if we can re-use akka connections to facilitate clients behind a firewall
      
      A sensible place to start for review would be to look at the `DriverClient` class which presents users the ability to launch their driver program. I've also added an example program (`DriverSubmissionTest`) that allows you to test this locally and play around with killing workers, etc. Most of the code is devoted to persisting driver state in the cluster manger, exposing it in the UI, and dealing correctly with various types of failures.
      
      Instructions to test locally:
      - `sbt/sbt assembly/assembly examples/assembly`
      - start a local version of the standalone cluster manager
      
      ```
      ./spark-class org.apache.spark.deploy.client.DriverClient \
        -j -Dspark.test.property=something \
        -e SPARK_TEST_KEY=SOMEVALUE \
        launch spark://10.99.1.14:7077 \
        ../path-to-examples-assembly-jar \
        org.apache.spark.examples.DriverSubmissionTest 1000 some extra options --some-option-here -X 13
      ```
      - Go in the UI and make sure it started correctly, look at the output etc
      - Kill workers, the driver program, masters, etc.
      d86a85e9
    • Matei Zaharia's avatar
      Fix bug added when we changed AppDescription.maxCores to an Option · c43eb006
      Matei Zaharia authored
      The Scala compiler warned about this -- we were comparing an Option
      against an integer now.
      c43eb006
Loading