Add NativeExecutionShuffleManager for presto spark native execution#18623
Conversation
8cab7cb to
ef95594
Compare
|
@bot kick off test |
|
@prestodbbot kick off test |
|
@presto-release-bot kick off test |
What is this arcane trick about? |
highker
left a comment
There was a problem hiding this comment.
nit comments only; will leave to others to review first
There was a problem hiding this comment.
Can use specialize the type for BypassMergeSortShuffleHandle: BypassMergeSortShuffleHandle<.., ..>
|
We are deploying a bot that can restart failed tests. It's not ready yet. |
There was a problem hiding this comment.
Could you explain a bit more about why we need
resetSparkContext(Map<String, String> additionalSparkConfigs)
get(Map<String, String> additionalSparkConfigs)
My understanding is you want add additional configs to existing sparkContext? And this is only needed for testing
Is this correct or not?
There was a problem hiding this comment.
looks good overall, have one question about changes in PrestoSparkQueryRunner
There was a problem hiding this comment.
The reason we need reset: the Spark shuffle manager will be only created/initialized once at Spark context/Env creation time, and it'll be used throughout the life time of that Spark context. On other side, In PrestoSpark test suite, all the test cases in one suite will be sharing one Spark context (held by the PrestoSparkQueryRunner) by default. With these two constraints, we have to 'reset' the Spark Context to create a new one to register our new shuffle manager for our testing purpose.
ef95594 to
75cbfe8
Compare
There was a problem hiding this comment.
This is a private method. Also, move it to the end of the class
75cbfe8 to
904f04c
Compare
|
@bot kick off tests |
904f04c to
3897f13
Compare
PrestoSparkNativeExecutionShuffleManager is the shuffle manager implementing the Spark shuffle manager interface specifically for native execution. The reasons we have this new shuffle manager are: