FMX commented on code in PR #3144:
URL: https://github.com/apache/celeborn/pull/3144#discussion_r2000415124


##########
client-spark/spark-3/src/main/java/org/apache/spark/shuffle/celeborn/SparkUtils.java:
##########
@@ -344,6 +344,20 @@ public static void cancelShuffle(int shuffleId, String 
reason) {
               .hiddenImpl(TaskSetManager.class, "taskInfos")
               .defaultAlwaysNull()
               .build();
+  private static final DynFields.UnboundField<
+          scala.collection.mutable.HashMap<
+              Integer, scala.collection.mutable.HashMap<Integer, 
TaskSetManager>>>
+      TASK_SETS_BY_STAGE_ID_AND_ATTEMPT_FIELD =
+          DynFields.builder()
+              .hiddenImpl(TaskSchedulerImpl.class, 
"taskSetsByStageIdAndAttempt")

Review Comment:
   ```
     // TaskSetManagers are not thread safe, so any access to one should be 
synchronized
     // on this class.  Protected by `this`
     private val taskSetsByStageIdAndAttempt = new HashMap[Int, HashMap[Int, 
TaskSetManager]]
   ```
    
   It looks like this variable is not thread-safe, will this be safe if you get 
the variable by reflection?



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