Github user rdblue commented on a diff in the pull request: https://github.com/apache/spark/pull/11242#discussion_r57014360 --- Diff: core/src/main/scala/org/apache/spark/rdd/UnionRDD.scala --- @@ -62,7 +64,23 @@ class UnionRDD[T: ClassTag]( var rdds: Seq[RDD[T]]) extends RDD[T](sc, Nil) { // Nil since we implement getDependencies + // Evaluate partitions in parallel. Partitions of each rdd will be cached by the `partitions` + // val in `RDD`. + private[spark] lazy val parallelPartitionEval: Boolean = { --- End diff -- > I thought the issue here was use for reading/writing data rather than getSplits The issue is introducing concurrent calls to getSplits. [PARQUET-16|https://issues.apache.org/jira/browse/PARQUET-16] is a suggestion to cache the results of file system operations during split planning, which would have to be done by a cache shared across instances. (Instead, we fixed the underlying problem with HADOOP-12810.) > if this is a problem, this doesn't resolve it. More immediately, there are cases where the same instance of InputFormat is accessed concurrently. If this is true, then your line of reasoning makes sense. Where are InputFormat instances accessed concurrently?
--- If your project is set up for it, you can reply to this email and have your reply appear on GitHub as well. If your project does not have this feature enabled and wishes so, or if the feature is enabled but not working, please contact infrastructure at infrastruct...@apache.org or file a JIRA ticket with INFRA. --- --------------------------------------------------------------------- To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For additional commands, e-mail: reviews-h...@spark.apache.org