guixiaowen commented on code in PR #1438:
URL: https://github.com/apache/auron/pull/1438#discussion_r2427886741


##########
spark-extension/src/main/scala/org/apache/spark/sql/auron/AuronConverters.scala:
##########
@@ -135,21 +135,20 @@ object AuronConverters extends Logging {
     getBooleanConf("spark.auron.enable.scan.orc", defaultValue = true)
   def enableBroadcastExchange: Boolean =
     getBooleanConf("spark.auron.enable.broadcastExchange", defaultValue = true)
-  def enableShuffleExechange: Boolean =
-    getBooleanConf("spark.auron.enable.shuffleExchange", defaultValue = true)
+  def enableShuffleExchange: Boolean = {
+    val shuffleManager = SQLConf.get.getConfString(config.SHUFFLE_MANAGER.key)
+    getBooleanConf(
+      "spark.auron.enable.shuffleExchange",
+      defaultValue = true) && !shuffleManager.isEmpty && 
(shuffleManager.contains(
+      "AuronShuffleManager") || shuffleManager.contains(

Review Comment:
   > You can use the full name of the class and use several shuffle managers as 
configurations.
   
   @cxzl25  Thank you very much for reviewing the code. I previously submitted 
a PR to extract parameters: 
[https://github.com/apache/auron/pull/1371](https://github.com/apache/auron/pull/1371),
 but other contributors mentioned that this functionality has already been 
planned and will be designed in a unified way. Therefore, I closed that PR, and 
for now, I can only add new code following the previous implementation approach.
   



##########
spark-extension/src/main/scala/org/apache/spark/sql/auron/AuronConverters.scala:
##########
@@ -135,21 +135,20 @@ object AuronConverters extends Logging {
     getBooleanConf("spark.auron.enable.scan.orc", defaultValue = true)
   def enableBroadcastExchange: Boolean =
     getBooleanConf("spark.auron.enable.broadcastExchange", defaultValue = true)
-  def enableShuffleExechange: Boolean =
-    getBooleanConf("spark.auron.enable.shuffleExchange", defaultValue = true)
+  def enableShuffleExchange: Boolean = {
+    val shuffleManager = SQLConf.get.getConfString(config.SHUFFLE_MANAGER.key)
+    getBooleanConf(
+      "spark.auron.enable.shuffleExchange",
+      defaultValue = true) && !shuffleManager.isEmpty && 
(shuffleManager.contains(
+      "AuronShuffleManager") || shuffleManager.contains(

Review Comment:
   > You can use the full name of the class and use several shuffle managers as 
configurations.
   
   @cxzl25  Additionally, if we don’t extract the configuration, I’ll have to 
hardcode the full class name as a string, which is even worse — since the 
package name has changed, this part is prone to errors. Should we wait until 
the others finish designing this part before making further modifications?
   



-- 
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.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to