diff options
author | Jacek Lewandowski <lewandowski.jacek@gmail.com> | 2015-02-02 14:07:19 -0800 |
---|---|---|
committer | Josh Rosen <joshrosen@databricks.com> | 2015-02-02 14:07:19 -0800 |
commit | 5a5526164bdf9ecf1306d4570e816eb4df5cfd2b (patch) | |
tree | 70a30836e095dd16fce0e27bb4d2681d2cb425e6 /project | |
parent | bff65b5cca7ae0c6c49e6a04638d18104be4be7c (diff) | |
download | spark-5a5526164bdf9ecf1306d4570e816eb4df5cfd2b.tar.gz spark-5a5526164bdf9ecf1306d4570e816eb4df5cfd2b.tar.bz2 spark-5a5526164bdf9ecf1306d4570e816eb4df5cfd2b.zip |
SPARK-5425: Use synchronised methods in system properties to create SparkConf
SPARK-5425: Fixed usages of system properties
This patch fixes few problems caused by the fact that the Scala wrapper over system properties is not thread-safe and is basically invalid because it doesn't take into account the default values which could have been set in the properties object. The problem is fixed by modifying `Utils.getSystemProperties` method so that it uses `stringPropertyNames` method of the `Properties` class, which is thread-safe (internally it creates a defensive copy in a synchronized method) and returns keys of the properties which were set explicitly and which are defined as defaults.
The other related problem, which is fixed here. was in `ResetSystemProperties` mix-in. It created a copy of the system properties in the wrong way.
This patch also introduces a test case for thread-safeness of SparkConf creation.
Refer to the discussion in https://github.com/apache/spark/pull/4220 for more details.
Author: Jacek Lewandowski <lewandowski.jacek@gmail.com>
Closes #4222 from jacek-lewandowski/SPARK-5425-1.3 and squashes the following commits:
03da61b [Jacek Lewandowski] SPARK-5425: Modified Utils.getSystemProperties to return a map of all system properties - explicit + defaults
8faf2ea [Jacek Lewandowski] SPARK-5425: Use SerializationUtils to save properties in ResetSystemProperties trait
71aa572 [Jacek Lewandowski] SPARK-5425: Use synchronised methods in system properties to create SparkConf
Diffstat (limited to 'project')
0 files changed, 0 insertions, 0 deletions