You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hudi.apache.org by "dataproblems (via GitHub)" <gi...@apache.org> on 2024/09/24 20:30:04 UTC

[I] [SUPPORT] Hoodie Metadata exception while upserting using Spark Structured Streaming [hudi]

dataproblems opened a new issue, #11997:
URL: https://github.com/apache/hudi/issues/11997

   **Describe the problem you faced**
   
   Writes to a Hudi Table in S3 fail due to a FileNotFoundException on the archived folder under the `.hoodie` directory. I've verified that the file does exist in S3 and am puzzled as to what might be causing this issue. The structured streaming query fails after the 17th batch. 
   
   **To Reproduce**
   
   Steps to reproduce the behavior:
   1. Create the necessary base table using a bulk insert
   2. Start consuming from kinesis and upsert to the base table
   3. Eventually after about 17 batches, this exception happens
   
   **Expected behavior**
   
   I'm expecting no issues like this to happen and the hudi table to be updated with the new data. I tried removing the write to hudi and simply wrote the batch output to S3, in that case my spark job continues to run well beyond batch 17. 
   
   **Environment Description**
   
   * Hudi version : 1.0.0-beta1
   
   * Spark version : 3.3.2 
   
   * Hive version :  3.1.3
   
   * Hadoop version : 3.3.3
   
   * Storage (HDFS/S3/GCS..) : S3
   
   * Running on Docker? (yes/no) : No
   
   
   **Additional context**
   
   We are not using any `async` services and this is a single writer updating the hudi table. 
   
   Hudi Upsert Configuration: 
   
   ```
   val UpsertOptions: Map[String, String] = Map(
       DataSourceWriteOptions.OPERATION.key() -> DataSourceWriteOptions.UPSERT_OPERATION_OPT_VAL, 
       DataSourceWriteOptions.TABLE_TYPE.key() -> DataSourceWriteOptions.COW_TABLE_TYPE_OPT_VAL, 
       HoodieStorageConfig.PARQUET_COMPRESSION_CODEC_NAME.key() -> "snappy", 
       HoodieStorageConfig.PARQUET_MAX_FILE_SIZE
         .key() -> "2147483648", 
       "hoodie.parquet.small.file.limit" -> "1073741824",
       "hoodie.upsert.shuffle.parallelism" -> "5",
       HoodieMetadataConfig.ENABLE_METADATA_INDEX_COLUMN_STATS.key() -> "true",
       HoodieIndexConfig.INDEX_TYPE.key() -> "RECORD_INDEX",
       "hoodie.metadata.enable" -> "true",
       "hoodie.datasource.write.hive_style_partitioning" -> "true",
       "hoodie.cleaner.policy" -> "KEEP_LATEST_COMMITS",
       "hoodie.cleaner.commits.retained" -> "10",
       "hoodie.metadata.record.index.enable" -> "true" 
     )
   ```
   
   
   **Stacktrace**
   
   ```
   Caused by: org.apache.hudi.exception.HoodieException: Failed to instantiate Metadata table
           at org.apache.hudi.client.SparkRDDWriteClient.initializeMetadataTable(SparkRDDWriteClient.java:293)
           at org.apache.hudi.client.SparkRDDWriteClient.initMetadataTable(SparkRDDWriteClient.java:273)
           at org.apache.hudi.client.BaseHoodieWriteClient.doInitTable(BaseHoodieWriteClient.java:1250)
           at org.apache.hudi.client.BaseHoodieWriteClient.initTable(BaseHoodieWriteClient.java:1290)
           at org.apache.hudi.client.SparkRDDWriteClient.upsert(SparkRDDWriteClient.java:139)
           at org.apache.hudi.DataSourceUtils.doWriteOperation(DataSourceUtils.java:224)
           at org.apache.hudi.HoodieSparkSqlWriterInternal.writeInternal(HoodieSparkSqlWriter.scala:506)
           at org.apache.hudi.HoodieSparkSqlWriterInternal.write(HoodieSparkSqlWriter.scala:196)
           at org.apache.hudi.HoodieSparkSqlWriter$.write(HoodieSparkSqlWriter.scala:121)
           at org.apache.hudi.DefaultSource.createRelation(DefaultSource.scala:144)
           at org.apache.spark.sql.execution.datasources.SaveIntoDataSourceCommand.run(SaveIntoDataSourceCommand.scala:47)
           at org.apache.spark.sql.execution.command.ExecutedCommandExec.sideEffectResult$lzycompute(commands.scala:75)
           at org.apache.spark.sql.execution.command.ExecutedCommandExec.sideEffectResult(commands.scala:73)
           at org.apache.spark.sql.execution.command.ExecutedCommandExec.executeCollect(commands.scala:84)
           at org.apache.spark.sql.execution.QueryExecution$$anonfun$eagerlyExecuteCommands$1.$anonfun$applyOrElse$1(QueryExecution.scala:104)
           at org.apache.spark.sql.catalyst.QueryPlanningTracker$.withTracker(QueryPlanningTracker.scala:107)
           at org.apache.spark.sql.execution.SQLExecution$.withTracker(SQLExecution.scala:224)
           at org.apache.spark.sql.execution.SQLExecution$.executeQuery$1(SQLExecution.scala:114)
           at org.apache.spark.sql.execution.SQLExecution$.$anonfun$withNewExecutionId$7(SQLExecution.scala:139)
           at org.apache.spark.sql.catalyst.QueryPlanningTracker$.withTracker(QueryPlanningTracker.scala:107)
           at org.apache.spark.sql.execution.SQLExecution$.withTracker(SQLExecution.scala:224)
           at org.apache.spark.sql.execution.SQLExecution$.$anonfun$withNewExecutionId$6(SQLExecution.scala:139)
           at org.apache.spark.sql.execution.SQLExecution$.withSQLConfPropagated(SQLExecution.scala:245)
           at org.apache.spark.sql.execution.SQLExecution$.$anonfun$withNewExecutionId$1(SQLExecution.scala:138)
           at org.apache.spark.sql.SparkSession.withActive(SparkSession.scala:779)
           at org.apache.spark.sql.execution.SQLExecution$.withNewExecutionId(SQLExecution.scala:68)
           at org.apache.spark.sql.execution.QueryExecution$$anonfun$eagerlyExecuteCommands$1.applyOrElse(QueryExecution.scala:101)
           at org.apache.spark.sql.execution.QueryExecution$$anonfun$eagerlyExecuteCommands$1.applyOrElse(QueryExecution.scala:97)
           at org.apache.spark.sql.catalyst.trees.TreeNode.$anonfun$transformDownWithPruning$1(TreeNode.scala:626)
           at org.apache.spark.sql.catalyst.trees.CurrentOrigin$.withOrigin(TreeNode.scala:179)
           at org.apache.spark.sql.catalyst.trees.TreeNode.transformDownWithPruning(TreeNode.scala:626)
           at org.apache.spark.sql.catalyst.plans.logical.LogicalPlan.org$apache$spark$sql$catalyst$plans$logical$AnalysisHelper$$super$transformDownWithPruning(LogicalPlan.scala:31)
           at org.apache.spark.sql.catalyst.plans.logical.AnalysisHelper.transformDownWithPruning(AnalysisHelper.scala:267)
           at org.apache.spark.sql.catalyst.plans.logical.AnalysisHelper.transformDownWithPruning$(AnalysisHelper.scala:263)
           at org.apache.spark.sql.catalyst.plans.logical.LogicalPlan.transformDownWithPruning(LogicalPlan.scala:31)
           at org.apache.spark.sql.catalyst.plans.logical.LogicalPlan.transformDownWithPruning(LogicalPlan.scala:31)
           at org.apache.spark.sql.catalyst.trees.TreeNode.transformDown(TreeNode.scala:602)
           at org.apache.spark.sql.execution.QueryExecution.eagerlyExecuteCommands(QueryExecution.scala:97)
           at org.apache.spark.sql.execution.QueryExecution.commandExecuted$lzycompute(QueryExecution.scala:84)
           at org.apache.spark.sql.execution.QueryExecution.commandExecuted(QueryExecution.scala:82)
           at org.apache.spark.sql.execution.QueryExecution.assertCommandExecuted(QueryExecution.scala:125)
           at org.apache.spark.sql.DataFrameWriter.runCommand(DataFrameWriter.scala:860)
           at **org.apache.spark.sql.DataFrameWriter.saveToV1Source(DataFrameWriter.scala:390)**
   Caused by: org.apache.hudi.exception.HoodieCommitException: Failed to write commits
           at org.apache.hudi.client.timeline.LSMTimelineWriter.write(LSMTimelineWriter.java:120)
           at org.apache.hudi.client.timeline.HoodieTimelineArchiver.archiveIfRequired(HoodieTimelineArchiver.java:112)
           at org.apache.hudi.client.BaseHoodieTableServiceClient.archive(BaseHoodieTableServiceClient.java:788)
           at org.apache.hudi.client.BaseHoodieWriteClient.archive(BaseHoodieWriteClient.java:885)
           at org.apache.hudi.client.BaseHoodieWriteClient.archive(BaseHoodieWriteClient.java:895)
           at org.apache.hudi.metadata.HoodieBackedTableMetadataWriter.performTableServices(HoodieBackedTableMetadataWriter.java:1325)
           at org.apache.hudi.client.SparkRDDWriteClient.initializeMetadataTable(SparkRDDWriteClient.java:290)
           ... 77 more
   Caused by: java.io.FileNotFoundException: No such file or directory 's3://some-bucket/some-prefix/table-name/.hoodie/metadata/.hoodie/archived/00000000000000010_00000000000000012_0.parquet'
           at com.amazon.ws.emr.hadoop.fs.s3n.S3NativeFileSystem.getFileStatus(S3NativeFileSystem.java:529)
           at com.amazon.ws.emr.hadoop.fs.EmrFileSystem.getFileStatus(EmrFileSystem.java:617)
           at org.apache.hudi.common.fs.HoodieWrapperFileSystem.lambda$getFileStatus$17(HoodieWrapperFileSystem.java:410)
           at org.apache.hudi.common.fs.HoodieWrapperFileSystem.executeFuncWithTimeMetrics(HoodieWrapperFileSystem.java:114)
           at org.apache.hudi.common.fs.HoodieWrapperFileSystem.getFileStatus(HoodieWrapperFileSystem.java:404)
           at org.apache.hudi.client.timeline.LSMTimelineWriter.getFileEntry(LSMTimelineWriter.java:309)
           at org.apache.hudi.client.timeline.LSMTimelineWriter.updateManifest(LSMTimelineWriter.java:158)
           at org.apache.hudi.client.timeline.LSMTimelineWriter.updateManifest(LSMTimelineWriter.java:137)
           at org.apache.hudi.client.timeline.LSMTimelineWriter.write(LSMTimelineWriter.java:118)
           ... 83 more
   24/09/23 22:33:51 INFO SparkContext: Invoking stop() from shutdown hook
   24/09/23 22:33:51 INFO SparkUI: Stopped Spark web UI at http://ip-10-0-171-12.ec2.internal:4040
   24/09/23 22:33:51 INFO YarnClientSchedulerBackend: Interrupting monitor thread
   24/09/23 22:33:51 INFO YarnClientSchedulerBackend: Shutting down all executors
   24/09/23 22:33:51 INFO YarnSchedulerBackend$YarnDriverEndpoint: Asking each executor to shut down
   24/09/23 22:33:51 INFO YarnClientSchedulerBackend: YARN client scheduler backend Stopped
   24/09/23 22:33:51 INFO MapOutputTrackerMasterEndpoint: MapOutputTrackerMasterEndpoint stopped!
   24/09/23 22:33:51 INFO MemoryStore: MemoryStore cleared
   24/09/23 22:33:51 INFO BlockManager: BlockManager stopped
   24/09/23 22:33:51 INFO BlockManagerMaster: BlockManagerMaster stopped
   24/09/23 22:33:51 INFO OutputCommitCoordinator$OutputCommitCoordinatorEndpoint: OutputCommitCoordinator stopped!
   24/09/23 22:33:51 INFO SparkContext: Successfully stopped SparkContext
   24/09/23 22:33:51 INFO ShutdownHookManager: Shutdown hook called
   24/09/23 22:33:51 INFO ShutdownHookManager: Deleting directory /mnt/tmp/spark-d3efe56e-91fa-4bf9-930b-78ac8c76ff79
   24/09/23 22:33:51 INFO ShutdownHookManager: Deleting directory /mnt/tmp/spark-adf36161-48cc-4f63-922d-d6f16b5d9be4
   Command exiting with ret '1'
   ```
   


-- 
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: commits-unsubscribe@hudi.apache.org.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [I] [SUPPORT] Hoodie Metadata exception while upserting using Spark Structured Streaming [hudi]

Posted by "dataproblems (via GitHub)" <gi...@apache.org>.
dataproblems commented on issue #11997:
URL: https://github.com/apache/hudi/issues/11997#issuecomment-2375782170

   @danny0405 I'm using 1.0.0-beta1, are you saying that I would need 1.0.0-beta2? 


-- 
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: commits-unsubscribe@hudi.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [I] [SUPPORT] Hoodie Metadata exception while upserting using Spark Structured Streaming [hudi]

Posted by "danny0405 (via GitHub)" <gi...@apache.org>.
danny0405 commented on issue #11997:
URL: https://github.com/apache/hudi/issues/11997#issuecomment-2378206024

   @dataproblems That's pretty nice~


-- 
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: commits-unsubscribe@hudi.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [I] [SUPPORT] Hoodie Metadata exception while upserting using Spark Structured Streaming [hudi]

Posted by "yihua (via GitHub)" <gi...@apache.org>.
yihua commented on issue #11997:
URL: https://github.com/apache/hudi/issues/11997#issuecomment-2374769722

   @dataproblems Thanks for reporting the problem.  It looks like you're running Spark structured streaming job on EMR using EMR file system and `S3NativeFileSystem`.  Have you tried using s3a file system by specifying the base path with `s3a://`?


-- 
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: commits-unsubscribe@hudi.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [I] [SUPPORT] Hoodie Metadata exception while upserting using Spark Structured Streaming [hudi]

Posted by "danny0405 (via GitHub)" <gi...@apache.org>.
danny0405 commented on issue #11997:
URL: https://github.com/apache/hudi/issues/11997#issuecomment-2375523192

   You might need this fix: https://github.com/apache/hudi/pull/10883


-- 
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: commits-unsubscribe@hudi.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [I] [SUPPORT] Hoodie Metadata exception while upserting using Spark Structured Streaming [hudi]

Posted by "dataproblems (via GitHub)" <gi...@apache.org>.
dataproblems commented on issue #11997:
URL: https://github.com/apache/hudi/issues/11997#issuecomment-2377657320

   @danny0405 - I am using `--packages org.apache.hudi:hudi-spark3.3-bundle_2.12:1.0.0-beta2,org.apache.hudi:hudi-aws:1.0.0-beta2` and so far I have not observed the same failure. The job has been running for over 56 batches whereas earlier it would fail after 17 batches. 


-- 
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: commits-unsubscribe@hudi.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [I] [SUPPORT] Hoodie Metadata exception while upserting using Spark Structured Streaming [hudi]

Posted by "yihua (via GitHub)" <gi...@apache.org>.
yihua commented on issue #11997:
URL: https://github.com/apache/hudi/issues/11997#issuecomment-2378096415

   @dataproblems `s3a` file system implemented by `hadoop-aws` is what we suggested to use when working with Hudi tables on S3.  `s3` native file system implementation is provided by EMR.  cc @CTTY to give more details if needed.
   
   NPE might be related to the bug in `1.0.0-beta1`.  `1.0.0-beta2` should work.  Feel free to close the ticket if `1.0.0-beta2` unblocks your testing.


-- 
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: commits-unsubscribe@hudi.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [I] [SUPPORT] Hoodie Metadata exception while upserting using Spark Structured Streaming [hudi]

Posted by "dataproblems (via GitHub)" <gi...@apache.org>.
dataproblems commented on issue #11997:
URL: https://github.com/apache/hudi/issues/11997#issuecomment-2374933378

   Hi @yihua - I've not tried using `s3a`, what would be the difference between that and S3? What would be the intuition of trying it with `s3a`? 


-- 
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: commits-unsubscribe@hudi.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [I] [SUPPORT] Hoodie Metadata exception while upserting using Spark Structured Streaming [hudi]

Posted by "danny0405 (via GitHub)" <gi...@apache.org>.
danny0405 commented on issue #11997:
URL: https://github.com/apache/hudi/issues/11997#issuecomment-2375787302

   yeah, the fix should be included in beta2


-- 
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: commits-unsubscribe@hudi.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [I] [SUPPORT] Hoodie Metadata exception while upserting using Spark Structured Streaming [hudi]

Posted by "dataproblems (via GitHub)" <gi...@apache.org>.
dataproblems commented on issue #11997:
URL: https://github.com/apache/hudi/issues/11997#issuecomment-2375829985

   Let me try beta2 and report back. 
   
   
   @yihua - I tried using `s3a` and it immediately gave me a null pointer exception
   
   ```
   Caused by: org.apache.hudi.exception.HoodieException: Failed to instantiate Metadata table 
   	at org.apache.hudi.client.SparkRDDWriteClient.initializeMetadataTable(SparkRDDWriteClient.java:293)
   	at org.apache.hudi.client.SparkRDDWriteClient.initMetadataTable(SparkRDDWriteClient.java:273)
   	at org.apache.hudi.client.BaseHoodieWriteClient.doInitTable(BaseHoodieWriteClient.java:1250)
   	at org.apache.hudi.client.BaseHoodieWriteClient.initTable(BaseHoodieWriteClient.java:1290)
   	at org.apache.hudi.client.SparkRDDWriteClient.upsert(SparkRDDWriteClient.java:139)
   	at org.apache.hudi.DataSourceUtils.doWriteOperation(DataSourceUtils.java:224)
   	at org.apache.hudi.HoodieSparkSqlWriterInternal.writeInternal(HoodieSparkSqlWriter.scala:506)
   	at org.apache.hudi.HoodieSparkSqlWriterInternal.write(HoodieSparkSqlWriter.scala:196)
   	at org.apache.hudi.HoodieSparkSqlWriter$.write(HoodieSparkSqlWriter.scala:121)
   	at org.apache.hudi.DefaultSource.createRelation(DefaultSource.scala:144)
   	at org.apache.spark.sql.execution.datasources.SaveIntoDataSourceCommand.run(SaveIntoDataSourceCommand.scala:47)
   	at org.apache.spark.sql.execution.command.ExecutedCommandExec.sideEffectResult$lzycompute(commands.scala:75)
   	at org.apache.spark.sql.execution.command.ExecutedCommandExec.sideEffectResult(commands.scala:73)
   	at org.apache.spark.sql.execution.command.ExecutedCommandExec.executeCollect(commands.scala:84)
   	at org.apache.spark.sql.execution.QueryExecution$$anonfun$eagerlyExecuteCommands$1.$anonfun$applyOrElse$1(QueryExecution.scala:104)
   	at org.apache.spark.sql.catalyst.QueryPlanningTracker$.withTracker(QueryPlanningTracker.scala:107)
   	at org.apache.spark.sql.execution.SQLExecution$.withTracker(SQLExecution.scala:224)
   	at org.apache.spark.sql.execution.SQLExecution$.executeQuery$1(SQLExecution.scala:114)
   	at org.apache.spark.sql.execution.SQLExecution$.$anonfun$withNewExecutionId$7(SQLExecution.scala:139)
   	at org.apache.spark.sql.catalyst.QueryPlanningTracker$.withTracker(QueryPlanningTracker.scala:107)
   	at org.apache.spark.sql.execution.SQLExecution$.withTracker(SQLExecution.scala:224)
   	at org.apache.spark.sql.execution.SQLExecution$.$anonfun$withNewExecutionId$6(SQLExecution.scala:139)
   	at org.apache.spark.sql.execution.SQLExecution$.withSQLConfPropagated(SQLExecution.scala:245)
   	at org.apache.spark.sql.execution.SQLExecution$.$anonfun$withNewExecutionId$1(SQLExecution.scala:138)
   	at org.apache.spark.sql.SparkSession.withActive(SparkSession.scala:779)
   	at org.apache.spark.sql.execution.SQLExecution$.withNewExecutionId(SQLExecution.scala:68)
   	at org.apache.spark.sql.execution.QueryExecution$$anonfun$eagerlyExecuteCommands$1.applyOrElse(QueryExecution.scala:101)
   	at org.apache.spark.sql.execution.QueryExecution$$anonfun$eagerlyExecuteCommands$1.applyOrElse(QueryExecution.scala:97)
   	at org.apache.spark.sql.catalyst.trees.TreeNode.$anonfun$transformDownWithPruning$1(TreeNode.scala:626)
   	at org.apache.spark.sql.catalyst.trees.CurrentOrigin$.withOrigin(TreeNode.scala:179)
   	at org.apache.spark.sql.catalyst.trees.TreeNode.transformDownWithPruning(TreeNode.scala:626)
   	at org.apache.spark.sql.catalyst.plans.logical.LogicalPlan.org$apache$spark$sql$catalyst$plans$logical$AnalysisHelper$$super$transformDownWithPruning(LogicalPlan.scala:31)
   	at org.apache.spark.sql.catalyst.plans.logical.AnalysisHelper.transformDownWithPruning(AnalysisHelper.scala:267)
   	at org.apache.spark.sql.catalyst.plans.logical.AnalysisHelper.transformDownWithPruning$(AnalysisHelper.scala:263)
   	at org.apache.spark.sql.catalyst.plans.logical.LogicalPlan.transformDownWithPruning(LogicalPlan.scala:31)
   	at org.apache.spark.sql.catalyst.plans.logical.LogicalPlan.transformDownWithPruning(LogicalPlan.scala:31)
   	at org.apache.spark.sql.catalyst.trees.TreeNode.transformDown(TreeNode.scala:602)
   	at org.apache.spark.sql.execution.QueryExecution.eagerlyExecuteCommands(QueryExecution.scala:97)
   	at org.apache.spark.sql.execution.QueryExecution.commandExecuted$lzycompute(QueryExecution.scala:84)
   	at org.apache.spark.sql.execution.QueryExecution.commandExecuted(QueryExecution.scala:82)
   	at org.apache.spark.sql.execution.QueryExecution.assertCommandExecuted(QueryExecution.scala:125)
   	at org.apache.spark.sql.DataFrameWriter.runCommand(DataFrameWriter.scala:860)
   	at org.apache.spark.sql.DataFrameWriter.saveToV1Source(DataFrameWriter.scala:390)
   	at org.apache.spark.sql.DataFrameWriter.saveInternal(DataFrameWriter.scala:363)
   	at org.apache.spark.sql.DataFrameWriter.save(DataFrameWriter.scala:239)
   <omitted>
   	at org.apache.spark.sql.execution.streaming.sources.ForeachBatchSink.addBatch(ForeachBatchSink.scala:32)
   	at org.apache.spark.sql.execution.streaming.MicroBatchExecution.$anonfun$runBatch$17(MicroBatchExecution.scala:665)
   	at org.apache.spark.sql.catalyst.QueryPlanningTracker$.withTracker(QueryPlanningTracker.scala:107)
   	at org.apache.spark.sql.execution.SQLExecution$.withTracker(SQLExecution.scala:224)
   	at org.apache.spark.sql.execution.SQLExecution$.executeQuery$1(SQLExecution.scala:114)
   	at org.apache.spark.sql.execution.SQLExecution$.$anonfun$withNewExecutionId$7(SQLExecution.scala:139)
   	at org.apache.spark.sql.catalyst.QueryPlanningTracker$.withTracker(QueryPlanningTracker.scala:107)
   	at org.apache.spark.sql.execution.SQLExecution$.withTracker(SQLExecution.scala:224)
   	at org.apache.spark.sql.execution.SQLExecution$.$anonfun$withNewExecutionId$6(SQLExecution.scala:139)
   	at org.apache.spark.sql.execution.SQLExecution$.withSQLConfPropagated(SQLExecution.scala:245)
   	at org.apache.spark.sql.execution.SQLExecution$.$anonfun$withNewExecutionId$1(SQLExecution.scala:138)
   	at org.apache.spark.sql.SparkSession.withActive(SparkSession.scala:779)
   	at org.apache.spark.sql.execution.SQLExecution$.withNewExecutionId(SQLExecution.scala:68)
   	at org.apache.spark.sql.execution.streaming.MicroBatchExecution.$anonfun$runBatch$16(MicroBatchExecution.scala:663)
   	at org.apache.spark.sql.execution.streaming.ProgressReporter.reportTimeTaken(ProgressReporter.scala:375)
   	at org.apache.spark.sql.execution.streaming.ProgressReporter.reportTimeTaken$(ProgressReporter.scala:373)
   	at org.apache.spark.sql.execution.streaming.StreamExecution.reportTimeTaken(StreamExecution.scala:68)
   	at org.apache.spark.sql.execution.streaming.MicroBatchExecution.runBatch(MicroBatchExecution.scala:663)
   	at org.apache.spark.sql.execution.streaming.MicroBatchExecution.$anonfun$runActivatedStream$2(MicroBatchExecution.scala:256)
   	at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
   	at org.apache.spark.sql.execution.streaming.ProgressReporter.reportTimeTaken(ProgressReporter.scala:375)
   	at org.apache.spark.sql.execution.streaming.ProgressReporter.reportTimeTaken$(ProgressReporter.scala:373)
   	at org.apache.spark.sql.execution.streaming.StreamExecution.reportTimeTaken(StreamExecution.scala:68)
   	at org.apache.spark.sql.execution.streaming.MicroBatchExecution.$anonfun$runActivatedStream$1(MicroBatchExecution.scala:219)
   	at org.apache.spark.sql.execution.streaming.ProcessingTimeExecutor.execute(TriggerExecutor.scala:67)
   	at org.apache.spark.sql.execution.streaming.MicroBatchExecution.runActivatedStream(MicroBatchExecution.scala:213)
   	at org.apache.spark.sql.execution.streaming.StreamExecution.$anonfun$runStream$1(StreamExecution.scala:307)
   	at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
   	at org.apache.spark.sql.SparkSession.withActive(SparkSession.scala:779)
   	at org.apache.spark.sql.execution.streaming.StreamExecution.org$apache$spark$sql$execution$streaming$StreamExecution$$runStream(StreamExecution.scala:285)
   	... 1 more
   Caused by: java.lang.NullPointerException
   	at org.apache.hudi.metadata.HoodieBackedTableMetadataWriter.performTableServices(HoodieBackedTableMetadataWriter.java:1309)
   	at org.apache.hudi.client.SparkRDDWriteClient.initializeMetadataTable(SparkRDDWriteClient.java:290)
   	... 77 more
   ```


-- 
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: commits-unsubscribe@hudi.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org