You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hudi.apache.org by GitBox <gi...@apache.org> on 2022/10/10 12:04:55 UTC

[GitHub] [hudi] BalaMahesh opened a new issue, #6908: [SUPPORT] Hudi AvroDeserializer failing with java.lang.NullPointerException

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

   **_Tips before filing an issue_**
   
   - Have you gone through our [FAQs](https://hudi.apache.org/learn/faq/)? yes
   
   - Join the mailing list to engage in conversations and get faster support at dev-subscribe@hudi.apache.org.
   
   - If you have triaged this as a bug, then file an [issue](https://issues.apache.org/jira/projects/HUDI/issues) directly.
   
   **Describe the problem you faced**
   
   We are using PostgresDebeziumSource and consuming data from confluent Kafka, using Confluent Schema Registry as at the Schema Provider. Application runs fine for some time and then all of sudden fails with Null Pointer Exception. 
   
   **To Reproduce**
   
   Steps to reproduce the behavior:
   
   1. Use Debezium Kafka Connect to publish data from Postgres server to Kafka.
   2. Use PostgresDebeziumSource and Confluent Schema Registry to consume data
   3. It runs fine for some records and stores the data into files in storage.
   4. After some time it fails with Null Pointer Exception without much description.
   
   **Expected behavior**
   
   Application should run seem less without any errors.
   
   **Environment Description**
   
   * Hudi version : 0.12.0
   
   * Spark version : 3.2.1
   
   * Hive version : 2.3.5
   
   * Hadoop version : 2.7.7
   
   * Storage (HDFS/S3/GCS..) : GCS
   
   * Running on Docker? (yes/no) : Yes(k8's)
   
   
   **Additional context**
   
   I tried doing remote debug, [https://github.com/apache/hudi/blob/bf86efef719b7760ea379bfa08c537431eeee09a/hudi-[…]client/src/main/scala/org/apache/hudi/AvroConversionUtils.scala](https://github.com/apache/hudi/blob/bf86efef719b7760ea379bfa08c537431eeee09a/hudi-client/hudi-spark-client/src/main/scala/org/apache/hudi/AvroConversionUtils.scala#L132) this piece of code is giving the error. i tried rdd.count() in evaluator , it returns the element count (non zero) but when I do rdd.first() or next() I am getting the same exception 
   
   **Stacktrace**
   
   ```22/10/07 15:30:03 INFO dag-scheduler-event-loop DAGScheduler: ResultStage 1 (isEmpty at DeltaSync.java:481) failed in 57.186 s due to Job aborted due to stage failure: Task 0 in stage 1.0 failed 1 times, most recent failure: Lost task 0.0 in stage 1.0 (TID 1) (192.168.0.188 executor driver): java.lang.NullPointerException
   	at [org.apache.hudi.org](http://org.apache.hudi.org/).apache.spark.sql.avro.AvroDeserializer.$anonfun$getRecordWriter$2(AvroDeserializer.scala:383)
   	at [org.apache.hudi.org](http://org.apache.hudi.org/).apache.spark.sql.avro.AvroDeserializer.$anonfun$getRecordWriter$2$adapted(AvroDeserializer.scala:379)
   	at [org.apache.hudi.org](http://org.apache.hudi.org/).apache.spark.sql.avro.AvroDeserializer.$anonfun$converter$4(AvroDeserializer.scala:88)
   	at [org.apache.hudi.org](http://org.apache.hudi.org/).apache.spark.sql.avro.AvroDeserializer.deserialize(AvroDeserializer.scala:106)
   	at [org.apache.hudi.org](http://org.apache.hudi.org/).apache.spark.sql.avro.HoodieSpark3_2AvroDeserializer.deserialize(HoodieSpark3_2AvroDeserializer.scala:30)
   	at org.apache.hudi.AvroConversionUtils$.$anonfun$createAvroToInternalRowConverter$1(AvroConversionUtils.scala:69)
   	at org.apache.hudi.AvroConversionUtils$.$anonfun$createConverterToRow$1(AvroConversionUtils.scala:99)
   	at org.apache.hudi.AvroConversionUtils$.$anonfun$createDataFrame$2(AvroConversionUtils.scala:136)
   	at scala.collection.Iterator$$anon$10.next(Iterator.scala:461)
   	at scala.collection.Iterator$$anon$10.next(Iterator.scala:461)
   	at scala.collection.Iterator$$anon$10.next(Iterator.scala:461)
   	at scala.collection.Iterator$$anon$12.hasNext(Iterator.scala:514)
   	at scala.collection.Iterator$$anon$10.hasNext(Iterator.scala:460)
   	at scala.collection.Iterator$$anon$10.hasNext(Iterator.scala:460)
   	at scala.collection.Iterator$$anon$10.hasNext(Iterator.scala:460)
   	at scala.collection.Iterator$$anon$10.hasNext(Iterator.scala:460)
   	at org.apache.spark.sql.catalyst.expressions.GeneratedClass$GeneratedIteratorForCodegenStage1.processNext(Unknown Source)
   	at org.apache.spark.sql.execution.BufferedRowIterator.hasNext(BufferedRowIterator.java:43)
   	at org.apache.spark.sql.execution.WholeStageCodegenExec$$anon$1.hasNext(WholeStageCodegenExec.scala:759)
   	at scala.collection.Iterator.isEmpty(Iterator.scala:387)
   	at scala.collection.Iterator.isEmpty$(Iterator.scala:387)
   	at org.apache.spark.sql.execution.WholeStageCodegenExec$$anon$1.isEmpty(WholeStageCodegenExec.scala:757)
   	at org.apache.hudi.HoodieSparkUtils$.$anonfun$createRdd$2(HoodieSparkUtils.scala:165)
   	at org.apache.spark.rdd.RDD.$anonfun$mapPartitions$2(RDD.scala:863)
   	at org.apache.spark.rdd.RDD.$anonfun$mapPartitions$2$adapted(RDD.scala:863)
   	at org.apache.spark.rdd.MapPartitionsRDD.compute(MapPartitionsRDD.scala:52)
   	at org.apache.spark.rdd.RDD.computeOrReadCheckpoint(RDD.scala:373)
   	at org.apache.spark.rdd.RDD.iterator(RDD.scala:337)
   	at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:90)
   	at org.apache.spark.scheduler.Task.run(Task.scala:131)
   	at org.apache.spark.executor.Executor$TaskRunner.$anonfun$run$3(Executor.scala:506)
   	at org.apache.spark.util.Utils$.tryWithSafeFinally(Utils.scala:1491)
   	at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:509)
   	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
   	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
   	at java.lang.Thread.run(Thread.java:750) .```
   
   


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


[GitHub] [hudi] soumilshah1995 commented on issue #6908: [SUPPORT] Hudi AvroDeserializer failing with java.lang.NullPointerException

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

   Hi Based on Community Sync 
   i can suggest a small update while using Delta  streamer 
   maybe using SQL based transformer 
   
   sample can be found https://github.com/soumilshah1995/Learn-about-Apache-Hudi-Transformers-with-Hands-on-Lab
   
   
   
   


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


[GitHub] [hudi] BalaMahesh commented on issue #6908: [SUPPORT] Hudi AvroDeserializer failing with java.lang.NullPointerException

Posted by GitBox <gi...@apache.org>.
BalaMahesh commented on issue #6908:
URL: https://github.com/apache/hudi/issues/6908#issuecomment-1275681348

   **UPDATE**: 
   
   I further tried to narrow down the issue and  found empty message body that was produced into Kafka topic by Postgres debezium Connector. Further need to check why that was the case from debezium. Will it be good if we have a check on Hudi consumer to filter out the empty/ null messages during the pull ? 
   
   <img width="862" alt="Screenshot 2022-10-12 at 12 24 57 PM" src="https://user-images.githubusercontent.com/25053668/195271457-8ddaec59-a83a-4326-89e6-4f5743500a1e.png">
   


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


[GitHub] [hudi] BalaMahesh closed issue #6908: [SUPPORT] Hudi AvroDeserializer failing with java.lang.NullPointerException

Posted by GitBox <gi...@apache.org>.
BalaMahesh closed issue #6908: [SUPPORT] Hudi AvroDeserializer failing with java.lang.NullPointerException
URL: https://github.com/apache/hudi/issues/6908


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