[ https://issues.apache.org/jira/browse/SPARK-20952?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16043732#comment-16043732 ]
Shixiong Zhu commented on SPARK-20952: -------------------------------------- For `ParquetFileFormat#readFootersInParallel`, I would suggest that you just set the TaskContext in "parFiles.flatMap". {code} val taskContext = TaskContext.get val parFiles = partFiles.par parFiles.tasksupport = new ForkJoinTaskSupport(new ForkJoinPool(8)) parFiles.flatMap { currentFile => TaskContext.setTaskContext(taskContext) ... }.seq {code} In this special case, it's safe since this is a local one-time thread pool. > TaskContext should be an InheritableThreadLocal > ----------------------------------------------- > > Key: SPARK-20952 > URL: https://issues.apache.org/jira/browse/SPARK-20952 > Project: Spark > Issue Type: Bug > Components: Spark Core > Affects Versions: 2.1.1 > Reporter: Robert Kruszewski > Priority: Minor > > TaskContext is a ThreadLocal as a result when you fork a thread inside your > executor task you lose the handle on the original context set by the > executor. We should change it to InheritableThreadLocal so we can access it > inside thread pools on executors. > See ParquetFileFormat#readFootersInParallel for example of code that uses > thread pools inside the tasks. -- This message was sent by Atlassian JIRA (v6.3.15#6346) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org For additional commands, e-mail: issues-h...@spark.apache.org