Hi Karan, Plz have a look at the stackoverflow comment I've had 2 days ago😉
G On Fri, 25 Feb 2022, 23:31 karan alang, <karan.al...@gmail.com> wrote: > Hello All, > I'm running a StructuredStreaming program on GCP Dataproc, which reads > data from Kafka, does some processing and puts processed data back into > Kafka. The program was running fine, when I killed it (to make minor > changes), and then re-started it. > > It is giving me the error - pyspark.sql.utils.StreamingQueryException: > batch 44 doesn't exist > > Here is the error: > > 22/02/25 22:14:08 ERROR > org.apache.spark.sql.execution.streaming.MicroBatchExecution: Query [id = > 0b73937f-1140-40fe-b201-cf4b7443b599, runId = > 43c9242d-993a-4b9a-be2b-04d8c9e05b06] terminated with error > java.lang.IllegalStateException: batch 44 doesn't exist > at > org.apache.spark.sql.execution.streaming.MicroBatchExecution.$anonfun$populateStartOffsets$1(MicroBatchExecution.scala:286) > at scala.Option.getOrElse(Option.scala:189) > at > org.apache.spark.sql.execution.streaming.MicroBatchExecution.populateStartOffsets(MicroBatchExecution.scala:286) > at > org.apache.spark.sql.execution.streaming.MicroBatchExecution.$anonfun$runActivatedStream$2(MicroBatchExecution.scala:197) > at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) > at > org.apache.spark.sql.execution.streaming.ProgressReporter.reportTimeTaken(ProgressReporter.scala:357) > at > org.apache.spark.sql.execution.streaming.ProgressReporter.reportTimeTaken$(ProgressReporter.scala:355) > 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:194) > at > org.apache.spark.sql.execution.streaming.ProcessingTimeExecutor.execute(TriggerExecutor.scala:57) > at > org.apache.spark.sql.execution.streaming.MicroBatchExecution.runActivatedStream(MicroBatchExecution.scala:188) > at > org.apache.spark.sql.execution.streaming.StreamExecution.$anonfun$runStream$1(StreamExecution.scala:334) > at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) > at org.apache.spark.sql.SparkSession.withActive(SparkSession.scala:775) > at > org.apache.spark.sql.execution.streaming.StreamExecution.org$apache$spark$sql$execution$streaming$StreamExecution$$runStream(StreamExecution.scala:317) > at > org.apache.spark.sql.execution.streaming.StreamExecution$$anon$1.run(StreamExecution.scala:244) > Traceback (most recent call last): > File > "/tmp/0149aedd804c42f288718e013fb16f9c/StructuredStreaming_GCP_Versa_Sase_gcloud.py", > line 609, in <module> > query.awaitTermination() > File "/usr/lib/spark/python/lib/pyspark.zip/pyspark/sql/streaming.py", line > 101, in awaitTermination > File "/usr/lib/spark/python/lib/py4j-0.10.9-src.zip/py4j/java_gateway.py", > line 1304, in __call__ > File "/usr/lib/spark/python/lib/pyspark.zip/pyspark/sql/utils.py", line > 117, in deco > pyspark.sql.utils.StreamingQueryException: batch 44 doesn't exist > > > Question - what is the cause of this error and how to debug/fix ? Also, I > notice that the checkpoint location gets corrupted occasionally, when I do > multiple restarts. After checkpoint corruption, it does not return any > records > > For the above issue(as well as when the checkpoint was corrupted), when i > cleared the checkpoint location and re-started the program, it went trhough > fine. > > Pls note: while doing readStream, i've enabled failOnDataLoss=false > > Additional details are in stackoverflow : > > > https://stackoverflow.com/questions/71272328/structuredstreaming-error-pyspark-sql-utils-streamingqueryexception-batch-44 > > any input on this ? > > tia! > > >