diff --git a/jvm-packages/xgboost4j-spark/src/main/scala/ml/dmlc/xgboost4j/scala/spark/XGBoost.scala b/jvm-packages/xgboost4j-spark/src/main/scala/ml/dmlc/xgboost4j/scala/spark/XGBoost.scala index 62d5eb0b4b71..f838512af67e 100644 --- a/jvm-packages/xgboost4j-spark/src/main/scala/ml/dmlc/xgboost4j/scala/spark/XGBoost.scala +++ b/jvm-packages/xgboost4j-spark/src/main/scala/ml/dmlc/xgboost4j/scala/spark/XGBoost.scala @@ -613,8 +613,12 @@ object XGBoost extends Serializable { } } sparkJobThread.setUncaughtExceptionHandler(tracker) - sparkJobThread.start() - val trackerReturnVal = parallelismTracker.execute(tracker.waitFor(0L)) + + val trackerReturnVal = parallelismTracker.execute { + sparkJobThread.start() + tracker.waitFor(0L) + } + logger.info(s"Rabit returns with exit code $trackerReturnVal") val (booster, metrics) = postTrackerReturnProcessing(trackerReturnVal, boostersAndMetrics, sparkJobThread)