This is an automated email from the ASF dual-hosted git repository. yihua pushed a commit to branch release-0.14.1-spark35-scala213 in repository https://gitbox.apache.org/repos/asf/hudi.git
commit 0fe615a0fd0385906612d291bd9231c839abb702 Author: Lin Liu <[email protected]> AuthorDate: Thu Jan 18 11:17:56 2024 -0800 [HUDI-6902] Shutdown metric hooks properly (#10520) --- .../main/scala/org/apache/hudi/DefaultSource.scala | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/DefaultSource.scala b/hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/DefaultSource.scala index f982fb1e1c3..1685b9abf30 100644 --- a/hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/DefaultSource.scala +++ b/hudi-spark-datasource/hudi-spark-common/src/main/scala/org/apache/hudi/DefaultSource.scala @@ -143,16 +143,19 @@ class DefaultSource extends RelationProvider mode: SaveMode, optParams: Map[String, String], df: DataFrame): BaseRelation = { - if (optParams.get(OPERATION.key).contains(BOOTSTRAP_OPERATION_OPT_VAL)) { - HoodieSparkSqlWriter.bootstrap(sqlContext, mode, optParams, df) - HoodieSparkSqlWriter.cleanup() - } else { - val (success, _, _, _, _, _) = HoodieSparkSqlWriter.write(sqlContext, mode, optParams, df) - HoodieSparkSqlWriter.cleanup() - if (!success) { - throw new HoodieException("Write to Hudi failed") + try { + if (optParams.get(OPERATION.key).contains(BOOTSTRAP_OPERATION_OPT_VAL)) { + HoodieSparkSqlWriter.bootstrap(sqlContext, mode, optParams, df) + } else { + val (success, _, _, _, _, _) = HoodieSparkSqlWriter.write(sqlContext, mode, optParams, df) + if (!success) { + throw new HoodieException("Failed to write to Hudi") + } } } + finally { + HoodieSparkSqlWriter.cleanup() + } new HoodieEmptyRelation(sqlContext, df.schema) }
