aboutsummaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
authorSean Owen <sowen@cloudera.com>2017-04-09 08:44:02 +0100
committerSean Owen <sowen@cloudera.com>2017-04-09 08:44:02 +0100
commit1f0de3c1c85a41eadc7c4131bdc948405f340099 (patch)
treece81e88b98844a940ddc1027cbffdcbe1d872ba4 /common
parent34fc48fb5976ede00f3f6d8c4d3eec979e4f4d7f (diff)
downloadspark-1f0de3c1c85a41eadc7c4131bdc948405f340099.tar.gz
spark-1f0de3c1c85a41eadc7c4131bdc948405f340099.tar.bz2
spark-1f0de3c1c85a41eadc7c4131bdc948405f340099.zip
[SPARK-19991][CORE][YARN] FileSegmentManagedBuffer performance improvement
## What changes were proposed in this pull request? Avoid `NoSuchElementException` every time `ConfigProvider.get(val, default)` falls back to default. This apparently causes non-trivial overhead in at least one path, and can easily be avoided. See https://github.com/apache/spark/pull/17329 ## How was this patch tested? Existing tests Author: Sean Owen <sowen@cloudera.com> Closes #17567 from srowen/SPARK-19991.
Diffstat (limited to 'common')
-rw-r--r--common/network-common/src/main/java/org/apache/spark/network/util/MapConfigProvider.java6
-rw-r--r--common/network-yarn/src/main/java/org/apache/spark/network/yarn/util/HadoopConfigProvider.java6
2 files changed, 12 insertions, 0 deletions
diff --git a/common/network-common/src/main/java/org/apache/spark/network/util/MapConfigProvider.java b/common/network-common/src/main/java/org/apache/spark/network/util/MapConfigProvider.java
index 9cfee7f08d..a2cf87d1af 100644
--- a/common/network-common/src/main/java/org/apache/spark/network/util/MapConfigProvider.java
+++ b/common/network-common/src/main/java/org/apache/spark/network/util/MapConfigProvider.java
@@ -43,6 +43,12 @@ public class MapConfigProvider extends ConfigProvider {
}
@Override
+ public String get(String name, String defaultValue) {
+ String value = config.get(name);
+ return value == null ? defaultValue : value;
+ }
+
+ @Override
public Iterable<Map.Entry<String, String>> getAll() {
return config.entrySet();
}
diff --git a/common/network-yarn/src/main/java/org/apache/spark/network/yarn/util/HadoopConfigProvider.java b/common/network-yarn/src/main/java/org/apache/spark/network/yarn/util/HadoopConfigProvider.java
index 62a6cca4ed..8beb033699 100644
--- a/common/network-yarn/src/main/java/org/apache/spark/network/yarn/util/HadoopConfigProvider.java
+++ b/common/network-yarn/src/main/java/org/apache/spark/network/yarn/util/HadoopConfigProvider.java
@@ -42,6 +42,12 @@ public class HadoopConfigProvider extends ConfigProvider {
}
@Override
+ public String get(String name, String defaultValue) {
+ String value = conf.get(name);
+ return value == null ? defaultValue : value;
+ }
+
+ @Override
public Iterable<Map.Entry<String, String>> getAll() {
return conf;
}