Skip to content
Snippets Groups Projects
  1. Apr 14, 2017
  2. Mar 28, 2017
  3. Mar 21, 2017
  4. Mar 01, 2017
    • Michael Gummelt's avatar
      [SPARK-19373][MESOS] Base spark.scheduler.minRegisteredResourceRatio … · 27347b5f
      Michael Gummelt authored
      …on registered cores rather than accepted cores
      
      See JIRA
      
      Unit tests, Mesos/Spark integration tests
      
      cc skonto susanxhuynh
      
      Author: Michael Gummelt <mgummeltmesosphere.io>
      
      Closes #17045 from mgummelt/SPARK-19373-registered-resources.
      
      ## What changes were proposed in this pull request?
      
      (Please fill in changes proposed in this fix)
      
      ## How was this patch tested?
      
      (Please explain how this patch was tested. E.g. unit tests, integration tests, manual tests)
      (If this patch involves UI changes, please attach a screenshot; otherwise, remove this)
      
      Please review http://spark.apache.org/contributing.html before opening a pull request.
      
      Author: Michael Gummelt <mgummelt@mesosphere.io>
      
      Closes #17129 from mgummelt/SPARK-19373-registered-resources-2.1.
      27347b5f
  5. Dec 15, 2016
  6. Dec 08, 2016
  7. Nov 28, 2016
    • Marcelo Vanzin's avatar
      [SPARK-18547][CORE] Propagate I/O encryption key when executors register. · c4cbdc86
      Marcelo Vanzin authored
      
      This change modifies the method used to propagate encryption keys used during
      shuffle. Instead of relying on YARN's UserGroupInformation credential propagation,
      this change explicitly distributes the key using the messages exchanged between
      driver and executor during registration. When RPC encryption is enabled, this means
      key propagation is also secure.
      
      This allows shuffle encryption to work in non-YARN mode, which means that it's
      easier to write unit tests for areas of the code that are affected by the feature.
      
      The key is stored in the SecurityManager; because there are many instances of
      that class used in the code, the key is only guaranteed to exist in the instance
      managed by the SparkEnv. This path was chosen to avoid storing the key in the
      SparkConf, which would risk having the key being written to disk as part of the
      configuration (as, for example, is done when starting YARN applications).
      
      Tested by new and existing unit tests (which were moved from the YARN module to
      core), and by running apps with shuffle encryption enabled.
      
      Author: Marcelo Vanzin <vanzin@cloudera.com>
      
      Closes #15981 from vanzin/SPARK-18547.
      
      (cherry picked from commit 8b325b17)
      Signed-off-by: default avatarShixiong Zhu <shixiong@databricks.com>
      c4cbdc86
    • Patrick Wendell's avatar
      75d73d13
    • Patrick Wendell's avatar
      Preparing Spark release v2.1.0-rc1 · 80aabc0b
      Patrick Wendell authored
      80aabc0b
  8. Nov 02, 2016
  9. Nov 01, 2016
    • Wang Lei's avatar
      [SPARK-18114][MESOS] Fix mesos cluster scheduler generage command option error · 9b377aa4
      Wang Lei authored
      ## What changes were proposed in this pull request?
      
      Enclose --conf option value with "" to support multi value configs like spark.driver.extraJavaOptions, without "", driver will fail to start.
      ## How was this patch tested?
      
      Jenkins Tests.
      
      Test in our production environment, also unit tests, It is a very small change.
      
      Author: Wang Lei <lei.wang@kongming-inc.com>
      
      Closes #15643 from LeightonWong/messos-cluster.
      Unverified
      9b377aa4
    • Sandeep Singh's avatar
      [SPARK-16881][MESOS] Migrate Mesos configs to use ConfigEntry · ec6f479b
      Sandeep Singh authored
      ## What changes were proposed in this pull request?
      
      Migrate Mesos configs to use ConfigEntry
      ## How was this patch tested?
      
      Jenkins Tests
      
      Author: Sandeep Singh <sandeep@techaddict.me>
      
      Closes #15654 from techaddict/SPARK-16881.
      Unverified
      ec6f479b
    • Charles Allen's avatar
      [SPARK-15994][MESOS] Allow enabling Mesos fetch cache in coarse executor backend · e34b4e12
      Charles Allen authored
      Mesos 0.23.0 introduces a Fetch Cache feature http://mesos.apache.org/documentation/latest/fetcher/ which allows caching of resources specified in command URIs.
      
      This patch:
      - Updates the Mesos shaded protobuf dependency to 0.23.0
      - Allows setting `spark.mesos.fetcherCache.enable` to enable the fetch cache for all specified URIs. (URIs must be specified for the setting to have any affect)
      - Updates documentation for Mesos configuration with the new setting.
      
      This patch does NOT:
      - Allow for per-URI caching configuration. The cache setting is global to ALL URIs for the command.
      
      Author: Charles Allen <charles@allen-net.com>
      
      Closes #13713 from drcrallen/SPARK15994.
      Unverified
      e34b4e12
  10. Oct 10, 2016
    • Timothy Chen's avatar
      [SPARK-14082][MESOS] Enable GPU support with Mesos · 29f186bf
      Timothy Chen authored
      ## What changes were proposed in this pull request?
      
      Enable GPU resources to be used when running coarse grain mode with Mesos.
      
      ## How was this patch tested?
      
      Manual test with GPU.
      
      Author: Timothy Chen <tnachen@gmail.com>
      
      Closes #14644 from tnachen/gpu_mesos.
      Unverified
      29f186bf
  11. Sep 29, 2016
    • Imran Rashid's avatar
      [SPARK-17648][CORE] TaskScheduler really needs offers to be an IndexedSeq · 7f779e74
      Imran Rashid authored
      ## What changes were proposed in this pull request?
      
      The Seq[WorkerOffer] is accessed by index, so it really should be an
      IndexedSeq, otherwise an O(n) operation becomes O(n^2).  In practice
      this hasn't been an issue b/c where these offers are generated, the call
      to `.toSeq` just happens to create an IndexedSeq anyway.I got bitten by
      this in performance tests I was doing, and its better for the types to be
      more precise so eg. a change in Scala doesn't destroy performance.
      
      ## How was this patch tested?
      
      Unit tests via jenkins.
      
      Author: Imran Rashid <irashid@cloudera.com>
      
      Closes #15221 from squito/SPARK-17648.
      7f779e74
  12. Sep 21, 2016
    • Marcelo Vanzin's avatar
      [SPARK-4563][CORE] Allow driver to advertise a different network address. · 2cd1bfa4
      Marcelo Vanzin authored
      The goal of this feature is to allow the Spark driver to run in an
      isolated environment, such as a docker container, and be able to use
      the host's port forwarding mechanism to be able to accept connections
      from the outside world.
      
      The change is restricted to the driver: there is no support for achieving
      the same thing on executors (or the YARN AM for that matter). Those still
      need full access to the outside world so that, for example, connections
      can be made to an executor's block manager.
      
      The core of the change is simple: add a new configuration that tells what's
      the address the driver should bind to, which can be different than the address
      it advertises to executors (spark.driver.host). Everything else is plumbing
      the new configuration where it's needed.
      
      To use the feature, the host starting the container needs to set up the
      driver's port range to fall into a range that is being forwarded; this
      required the block manager port to need a special configuration just for
      the driver, which falls back to the existing spark.blockManager.port when
      not set. This way, users can modify the driver settings without affecting
      the executors; it would theoretically be nice to also have different
      retry counts for driver and executors, but given that docker (at least)
      allows forwarding port ranges, we can probably live without that for now.
      
      Because of the nature of the feature it's kinda hard to add unit tests;
      I just added a simple one to make sure the configuration works.
      
      This was tested with a docker image running spark-shell with the following
      command:
      
       docker blah blah blah \
         -p 38000-38100:38000-38100 \
         [image] \
         spark-shell \
           --num-executors 3 \
           --conf spark.shuffle.service.enabled=false \
           --conf spark.dynamicAllocation.enabled=false \
           --conf spark.driver.host=[host's address] \
           --conf spark.driver.port=38000 \
           --conf spark.driver.blockManager.port=38020 \
           --conf spark.ui.port=38040
      
      Running on YARN; verified the driver works, executors start up and listen
      on ephemeral ports (instead of using the driver's config), and that caching
      and shuffling (without the shuffle service) works. Clicked through the UI
      to make sure all pages (including executor thread dumps) worked. Also tested
      apps without docker, and ran unit tests.
      
      Author: Marcelo Vanzin <vanzin@cloudera.com>
      
      Closes #15120 from vanzin/SPARK-4563.
      2cd1bfa4
  13. Sep 07, 2016
    • Liwei Lin's avatar
      [SPARK-17359][SQL][MLLIB] Use ArrayBuffer.+=(A) instead of... · 3ce3a282
      Liwei Lin authored
      [SPARK-17359][SQL][MLLIB] Use ArrayBuffer.+=(A) instead of ArrayBuffer.append(A) in performance critical paths
      
      ## What changes were proposed in this pull request?
      
      We should generally use `ArrayBuffer.+=(A)` rather than `ArrayBuffer.append(A)`, because `append(A)` would involve extra boxing / unboxing.
      
      ## How was this patch tested?
      
      N/A
      
      Author: Liwei Lin <lwlin7@gmail.com>
      
      Closes #14914 from lw-lin/append_to_plus_eq_v2.
      3ce3a282
  14. Sep 01, 2016
    • Marcelo Vanzin's avatar
      [SPARK-16533][HOTFIX] Fix compilation on Scala 2.10. · edb45734
      Marcelo Vanzin authored
      No idea why it was failing (the needed import was there), but
      this makes things work.
      
      Author: Marcelo Vanzin <vanzin@cloudera.com>
      
      Closes #14925 from vanzin/SPARK-16533.
      edb45734
    • Angus Gerry's avatar
      [SPARK-16533][CORE] resolve deadlocking in driver when executors die · a0aac4b7
      Angus Gerry authored
      ## What changes were proposed in this pull request?
      This pull request reverts the changes made as a part of #14605, which simply side-steps the deadlock issue. Instead, I propose the following approach:
      * Use `scheduleWithFixedDelay` when calling `ExecutorAllocationManager.schedule` for scheduling executor requests. The intent of this is that if invocations are delayed beyond the default schedule interval on account of lock contention, then we avoid a situation where calls to `schedule` are made back-to-back, potentially releasing and then immediately reacquiring these locks - further exacerbating contention.
      * Replace a number of calls to `askWithRetry` with `ask` inside of message handling code in `CoarseGrainedSchedulerBackend` and its ilk. This allows us queue messages with the relevant endpoints, release whatever locks we might be holding, and then block whilst awaiting the response. This change is made at the cost of being able to retry should sending the message fail, as retrying outside of the lock could easily cause race conditions if other conflicting messages have been sent whilst awaiting a response. I believe this to be the lesser of two evils, as in many cases these RPC calls are to process local components, and so failures are more likely to be deterministic, and timeouts are more likely to be caused by lock contention.
      
      ## How was this patch tested?
      Existing tests, and manual tests under yarn-client mode.
      
      Author: Angus Gerry <angolon@gmail.com>
      
      Closes #14710 from angolon/SPARK-16533.
      a0aac4b7
  15. Aug 31, 2016
  16. Aug 26, 2016
    • Michael Gummelt's avatar
      [SPARK-16967] move mesos to module · 8e5475be
      Michael Gummelt authored
      ## What changes were proposed in this pull request?
      
      Move Mesos code into a mvn module
      
      ## How was this patch tested?
      
      unit tests
      manually submitting a client mode and cluster mode job
      spark/mesos integration test suite
      
      Author: Michael Gummelt <mgummelt@mesosphere.io>
      
      Closes #14637 from mgummelt/mesos-module.
      8e5475be
Loading