Uh oh!
There was an error while loading. Please reload this page.
[SPARK-13979][Core] Killed executor is re spawned without AWS key… - #14601
[SPARK-13979][Core] Killed executor is re spawned without AWS key…#14601agsachin wants to merge 5 commits into
Conversation
…s in standalone spark cluster
lresende
commented
Aug 11, 2016
Jenkins test this please |
| @@ -107,6 +107,14 @@ class SparkHadoopUtil extends Logging { | |||
| if (key.startsWith("spark.hadoop.")) { | |||
There was a problem hiding this comment.
the comment above does not apply for the whole loop anymore and should be moved to this if statement
lresende
commented
Aug 11, 2016
Minor, the title should be [CORE] instead of [SPARK CORE] |
lresende
commented
Aug 11, 2016
Also, will this also fix the scenario where the user has provided the properties programmatically ? |
@lresende yes this fix works for the the scenario where the user has provided the properties programmatically like for swift:- |
| } | ||
| // Copy any "fs.swift2d.foo=bar" properties into conf as "fs.swift2d.foo=bar" | ||
| else if (key.startsWith("fs.swift2d")){ | ||
| hadoopConf.set(key, value) |
There was a problem hiding this comment.
What's swift2d? It's not the swift client in hadoop-openstack, which is fs.swift
There was a problem hiding this comment.
swift2d is used when u are using Stocator --> https://github.com/SparkTC/stocator. now I have updated for hadoop-openstack also
have updated for hadoop-openstack package properties
added comment with jira number
steveloughran
commented
Aug 21, 2016
I'd like to propose that the list of filesystem properties to propagate is actually defined as a list in a spark property, default could be "fs.s3a, fs.s3n, fs.s3, fs.swift, fs.wasb". This will allow people to extend it (google GCFS, Allyun OSS HADOOP-12756, etc, without having to patch spark or wait for a new release. And they get the option to turn off the feature whatsoever. By using the full fs.prefix you could also let people add other properties to carry over. One thing I'm confused by though: why do spawned executors get the properties, but not respawned ones? |
| // Copy any "fs.s3.foo=bar" or "fs.s3a.foo=bar" or "fs.s3n.foo=bar" properties into conf | ||
| else if (key.startsWith("fs.s3")){ | ||
| hadoopConf.set(key, value) | ||
| } |
There was a problem hiding this comment.
s3 is the AWS EMR filesystem, but an obsolete one on ASF Hadoop. I would recommend the list of
s3, s3n, s3a, swift, adl, wasb, oss, gs
(edited 10/oct, set list in sync with what I believe is current set)
There was a problem hiding this comment.
Actually, I would copy everything under fs.s3a, fs.s3, etc. Why? there's a lot more than passwords: for s3a we include: proxy info and passwords, a list of alternate s3 auth mechanisms (e.g. declaring using IAM), etc, etc.
There was a problem hiding this comment.
@steveloughran can u help me with some default setting for adl, wasb, oss, gs to test or just syntax for them so that i can decide on filter conditions
steveloughran
commented
Sep 13, 2016
Could an automated test be done here. propagation can be tested with a a function run on the
Seq("s3n", s3a.aws", ...).parallelize.map { name -> (check for fs.s3a properties) or fail } |
lresende
commented
Oct 6, 2016
@agsachin Are you planning to address these updates on this PR ? It would be good to have this as part of Spark as it affects multiple usage scenarios in cloud platforms and other cases as well. |
HyukjinKwon
commented
Feb 9, 2017
(gentle ping @agsachin) |
@lresende@steveloughran@HyukjinKwon can we go ahead with key.startsWith("fs."). so that we don't need to check so many conditions. |
steveloughran
commented
Feb 25, 2017
spark.hadoop.fs.* would work. The (not yet shipped in ASF code) Azure Data Lake FS has, for reasons I don't know and have only just noticed, adopted "dfs.adl" as their prefix. That's going to be fixed before it gets out the door, so fs.* will work there too. |
agsachin
commented
Feb 25, 2017
@steveloughran I have updated the pull request to fs.* |
update issue 2 is fixed |
jiangxb1987
commented
Jun 21, 2017
@agsachin Are you still working on this? And if it is so, would you please update the description and provide some snapshot to demo the behaviors before & after the changes? It would also be great if some test cases could be provided(I hope it won't be too hard). |
jiangxb1987
commented
Jun 21, 2017
add to whitelist |
jiangxb1987
commented
Jun 21, 2017
test this please |
Testing should not be too hard. Here's my untested attempt valsconf=newSparkConf(false)
sconf.set("fs.example.value", "true")
valconf=newConfiguration(false)
newSparkHadoopUtil().appendS3AndSparkHadoopConfigurations(sconf, conf)
assert(conf.getBoolean("fs.example.value", false)) |
HyukjinKwon
commented
Jul 24, 2017
gentle ping @agsachin. |
agsachin
commented
Jul 24, 2017
Thanks @jiangxb2987 will add this test case by tomorrow and will be update the pr with results |
steveloughran
commented
Aug 6, 2017
I know this hasn't been updated, but it is still important. I can take it on if all it needs is a test case |
jiangxb1987
commented
Aug 7, 2017
@steveloughran Please feel free to reopen this PR. Thanks! |
## What changes were proposed in this pull request? This PR proposes to close stale PRs, mostly the same instances with apache#18017Closesapache#14085 - [SPARK-16408][SQL] SparkSQL Added file get Exception: is a directory … Closesapache#14239 - [SPARK-16593] [CORE] [WIP] Provide a pre-fetch mechanism to accelerate shuffle stage. Closesapache#14567 - [SPARK-16992][PYSPARK] Python Pep8 formatting and import reorganisation Closesapache#14579 - [SPARK-16921][PYSPARK] RDD/DataFrame persist()/cache() should return Python context managers Closesapache#14601 - [SPARK-13979][Core] Killed executor is re spawned without AWS key… Closesapache#14830 - [SPARK-16992][PYSPARK][DOCS] import sort and autopep8 on Pyspark examples Closesapache#14963 - [SPARK-16992][PYSPARK] Virtualenv for Pylint and pep8 in lint-python Closesapache#15227 - [SPARK-17655][SQL]Remove unused variables declarations and definations in a WholeStageCodeGened stage Closesapache#15240 - [SPARK-17556] [CORE] [SQL] Executor side broadcast for broadcast joins Closesapache#15405 - [SPARK-15917][CORE] Added support for number of executors in Standalone [WIP] Closesapache#16099 - [SPARK-18665][SQL] set statement state to "ERROR" after user cancel job Closesapache#16445 - [SPARK-19043][SQL]Make SparkSQLSessionManager more configurable Closesapache#16618 - [SPARK-14409][ML][WIP] Add RankingEvaluator Closesapache#16766 - [SPARK-19426][SQL] Custom coalesce for Dataset Closesapache#16832 - [SPARK-19490][SQL] ignore case sensitivity when filtering hive partition columns Closesapache#17052 - [SPARK-19690][SS] Join a streaming DataFrame with a batch DataFrame which has an aggregation may not work Closesapache#17267 - [SPARK-19926][PYSPARK] Make pyspark exception more user-friendly Closesapache#17371 - [SPARK-19903][PYSPARK][SS] window operator miss the `watermark` metadata of time column Closesapache#17401 - [SPARK-18364][YARN] Expose metrics for YarnShuffleService Closesapache#17519 - [SPARK-15352][Doc] follow-up: add configuration docs for topology-aware block replication Closesapache#17530 - [SPARK-5158] Access kerberized HDFS from Spark standalone Closesapache#17854 - [SPARK-20564][Deploy] Reduce massive executor failures when executor count is large (>2000) Closesapache#17979 - [SPARK-19320][MESOS][WIP]allow specifying a hard limit on number of gpus required in each spark executor when running on mesos Closesapache#18127 - [SPARK-6628][SQL][Branch-2.1] Fix ClassCastException when executing sql statement 'insert into' on hbase table Closesapache#18236 - [SPARK-21015] Check field name is not null and empty in GenericRowWit… Closesapache#18269 - [SPARK-21056][SQL] Use at most one spark job to list files in InMemoryFileIndex Closesapache#18328 - [SPARK-21121][SQL] Support changing storage level via the spark.sql.inMemoryColumnarStorage.level variable Closesapache#18354 - [SPARK-18016][SQL][CATALYST][BRANCH-2.1] Code Generation: Constant Pool Limit - Class Splitting Closesapache#18383 - [SPARK-21167][SS] Set kafka clientId while fetch messages Closesapache#18414 - [SPARK-21169] [core] Make sure to update application status to RUNNING if executors are accepted and RUNNING after recovery Closesapache#18432 - resolve com.esotericsoftware.kryo.KryoException Closesapache#18490 - [SPARK-21269][Core][WIP] Fix FetchFailedException when enable maxReqSizeShuffleToMem and KryoSerializer Closesapache#18585 - SPARK-21359 Closesapache#18609 - Spark SQL merge small files to big files Update InsertIntoHiveTable.scala Added: Closesapache#18308 - [SPARK-21099][Spark Core] INFO Log Message Using Incorrect Executor I… Closesapache#18599 - [SPARK-21372] spark writes one log file even I set the number of spark_rotate_log to 0 Closesapache#18619 - [SPARK-21397][BUILD]Maven shade plugin adding dependency-reduced-pom.xml to … Closesapache#18667 - Fix the simpleString used in error messages Closesapache#18782 - Branch 2.1 Added: Closesapache#17694 - [SPARK-12717][PYSPARK] Resolving race condition with pyspark broadcasts when using multiple threads Added: Closesapache#16456 - [SPARK-18994] clean up the local directories for application in future by annother thread Closesapache#18683 - [SPARK-21474][CORE] Make number of parallel fetches from a reducer configurable Closesapache#18690 - [SPARK-21334][CORE] Add metrics reporting service to External Shuffle Server Added: Closesapache#18827 - Merge pull request 1 from apache/master ## How was this patch tested? N/A Author: hyukjinkwon <gurwls223@gmail.com> Closesapache#18780 from HyukjinKwon/close-prs.
What changes were proposed in this pull request?
(Please fill in changes proposed in this fix)
Summery we need to make two changes
How was this patch tested?
This patch was manually tested on local machine in standalone cluster mode.
To simulate the case of executor failure. We manually killed the executor then master started new executor with updated config params.
(If this patch involves UI changes, please attach a screenshot; otherwise, remove this)
no
…s in standalone spark cluster