ajithme opened a new pull request #27343: [WIP][SPARK-30621][SQL] Dynamic 
Pruning thread propagates the localProperties to task
URL: https://github.com/apache/spark/pull/27343
 
 
   ### What changes were proposed in this pull request?
   In `org.apache.spark.sql.execution.SubqueryBroadcastExec#relationFuture` 
make a copy of `org.apache.spark.SparkContext#localProperties` and pass it to 
the broadcast execution thread in 
`org.apache.spark.sql.execution.SubqueryBroadcastExec#executionContext`
   
   ### Why are the changes needed?
   In Dynamic pruning feature, when executing `SubqueryBroadcastExec`, the 
relationFuture is evaluated via a separate thread. The threads inherit the 
`localProperties` from `sparkContext` as they are the child threads.
   These threads are created in the executionContext (thread pools). Each 
Thread pool has a default `keepAliveSeconds` of 60 seconds for idle threads.
   Scenarios where the thread pool has threads which are idle and reused for a 
subsequent new query, the thread local properties will not be inherited from 
spark context (thread properties are inherited only on thread creation) hence 
end up having old or no properties set. This will cause taskset properties to 
be missing when properties are transferred by child thread
   
   ### Does this PR introduce any user-facing change?
   No
   
   ### How was this patch tested?
   WIP

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to