Regression

org.apache.spark.sql.kafka010.KafkaMicroBatchV2SourceSuite.subscribing topic by pattern with topic deletions

Failing for the past 1 build (Since Failed#5037 )
Took 1 min 20 sec.

Error Message

org.scalatest.exceptions.TestFailedException:  Error adding data: Timeout after waiting for 10000 ms. org.apache.kafka.clients.producer.internals.FutureRecordMetadata.get(FutureRecordMetadata.java:78)  org.apache.kafka.clients.producer.internals.FutureRecordMetadata.get(FutureRecordMetadata.java:30)  org.apache.spark.sql.kafka010.KafkaTestUtils.$anonfun$sendMessages$3(KafkaTestUtils.scala:466)  scala.collection.TraversableLike.$anonfun$map$1(TraversableLike.scala:238)  scala.collection.IndexedSeqOptimized.foreach(IndexedSeqOptimized.scala:36)  scala.collection.IndexedSeqOptimized.foreach$(IndexedSeqOptimized.scala:33)  scala.collection.mutable.WrappedArray.foreach(WrappedArray.scala:38)  scala.collection.TraversableLike.map(TraversableLike.scala:238)  scala.collection.TraversableLike.map$(TraversableLike.scala:231)  scala.collection.AbstractTraversable.map(Traversable.scala:108)   == Progress ==    AssertOnQuery(<condition>, )    AddKafkaData(topics = Set(topic-31-seems), data = WrappedArray(1, 2, 3), message = )    CheckAnswer: [2],[3],[4]    Assert(<condition>, ) => AddKafkaData(topics = Set(topic-31-bad), data = WrappedArray(4, 5, 6), message = )    CheckAnswer: [2],[3],[4],[5],[6],[7]  == Stream == Output Mode: Append Stream state: {KafkaV2[SubscribePattern[topic-31-.*]]: {"topic-31-bad":{"2":0,"4":0,"1":0,"3":0,"0":0}}} Thread state: alive Thread stack trace: java.io.FileOutputStream.writeBytes(Native Method) java.io.FileOutputStream.write(FileOutputStream.java:326) sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:221) sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:291) sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java:295) sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:141) java.io.OutputStreamWriter.flush(OutputStreamWriter.java:229) org.apache.log4j.helpers.QuietWriter.flush(QuietWriter.java:59) org.apache.log4j.WriterAppender.subAppend(WriterAppender.java:324) org.apache.log4j.WriterAppender.append(WriterAppender.java:162) org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:251) org.apache.log4j.helpers.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:66) org.apache.log4j.Category.callAppenders(Category.java:206) org.apache.log4j.Category.forcedLog(Category.java:391) org.apache.log4j.Category.log(Category.java:856) org.slf4j.impl.Log4jLoggerAdapter.info(Log4jLoggerAdapter.java:305) org.apache.kafka.common.config.AbstractConfig.logAll(AbstractConfig.java:347) org.apache.kafka.common.config.AbstractConfig.<init>(AbstractConfig.java:117) org.apache.kafka.common.config.AbstractConfig.<init>(AbstractConfig.java:129) org.apache.kafka.clients.consumer.ConsumerConfig.<init>(ConsumerConfig.java:543) org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:631) org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:612) org.apache.spark.sql.kafka010.SubscribePatternStrategy.createConsumer(ConsumerStrategy.scala:92) org.apache.spark.sql.kafka010.KafkaOffsetReader.consumer(KafkaOffsetReader.scala:88) org.apache.spark.sql.kafka010.KafkaOffsetReader.$anonfun$partitionsAssignedToConsumer$2(KafkaOffsetReader.scala:538) org.apache.spark.sql.kafka010.KafkaOffsetReader$$Lambda$4816/818324802.apply(Unknown Source) org.apache.spark.sql.kafka010.KafkaOffsetReader.$anonfun$withRetriesWithoutInterrupt$1(KafkaOffsetReader.scala:600) org.apache.spark.sql.kafka010.KafkaOffsetReader$$Lambda$4817/386854260.apply$mcV$sp(Unknown Source) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) org.apache.spark.util.UninterruptibleThread.runUninterruptibly(UninterruptibleThread.scala:77) org.apache.spark.sql.kafka010.KafkaOffsetReader.withRetriesWithoutInterrupt(KafkaOffsetReader.scala:599) org.apache.spark.sql.kafka010.KafkaOffsetReader.$anonfun$partitionsAssignedToConsumer$1(KafkaOffsetReader.scala:536) org.apache.spark.sql.kafka010.KafkaOffsetReader$$Lambda$4815/1653992500.apply(Unknown Source) org.apache.spark.sql.kafka010.KafkaOffsetReader.runUninterruptibly(KafkaOffsetReader.scala:567) org.apache.spark.sql.kafka010.KafkaOffsetReader.partitionsAssignedToConsumer(KafkaOffsetReader.scala:536) org.apache.spark.sql.kafka010.KafkaOffsetReader.fetchLatestOffsets(KafkaOffsetReader.scala:316) org.apache.spark.sql.kafka010.KafkaMicroBatchStream.latestOffset(KafkaMicroBatchStream.scala:90) org.apache.spark.sql.execution.streaming.MicroBatchExecution.$anonfun$constructNextBatch$3(MicroBatchExecution.scala:380) org.apache.spark.sql.execution.streaming.MicroBatchExecution$$Lambda$4808/532276247.apply(Unknown Source) org.apache.spark.sql.execution.streaming.ProgressReporter.reportTimeTaken(ProgressReporter.scala:352) org.apache.spark.sql.execution.streaming.ProgressReporter.reportTimeTaken$(ProgressReporter.scala:350) org.apache.spark.sql.execution.streaming.StreamExecution.reportTimeTaken(StreamExecution.scala:68) org.apache.spark.sql.execution.streaming.MicroBatchExecution.$anonfun$constructNextBatch$2(MicroBatchExecution.scala:371) org.apache.spark.sql.execution.streaming.MicroBatchExecution$$Lambda$3090/1871202731.apply(Unknown Source) scala.collection.TraversableLike.$anonfun$map$1(TraversableLike.scala:238) scala.collection.TraversableLike$$Lambda$15/225290371.apply(Unknown Source) scala.collection.immutable.Map$Map1.foreach(Map.scala:128) scala.collection.TraversableLike.map(TraversableLike.scala:238) scala.collection.TraversableLike.map$(TraversableLike.scala:231) scala.collection.AbstractTraversable.map(Traversable.scala:108) org.apache.spark.sql.execution.streaming.MicroBatchExecution.$anonfun$constructNextBatch$1(MicroBatchExecution.scala:368) org.apache.spark.sql.execution.streaming.MicroBatchExecution$$Lambda$3089/1749734771.apply$mcZ$sp(Unknown Source) scala.runtime.java8.JFunction0$mcZ$sp.apply(JFunction0$mcZ$sp.java:23) org.apache.spark.sql.execution.streaming.MicroBatchExecution.withProgressLocked(MicroBatchExecution.scala:598) org.apache.spark.sql.execution.streaming.MicroBatchExecution.constructNextBatch(MicroBatchExecution.scala:364) org.apache.spark.sql.execution.streaming.MicroBatchExecution.$anonfun$runActivatedStream$2(MicroBatchExecution.scala:208) org.apache.spark.sql.execution.streaming.MicroBatchExecution$$Lambda$3079/1357423135.apply$mcV$sp(Unknown Source) scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23) org.apache.spark.sql.execution.streaming.ProgressReporter.reportTimeTaken(ProgressReporter.scala:352) org.apache.spark.sql.execution.streaming.ProgressReporter.reportTimeTaken$(ProgressReporter.scala:350) org.apache.spark.sql.execution.streaming.StreamExecution.reportTimeTaken(StreamExecution.scala:68) org.apache.spark.sql.execution.streaming.MicroBatchExecution.$anonfun$runActivatedStream$1(MicroBatchExecution.scala:191) org.apache.spark.sql.execution.streaming.MicroBatchExecution$$Lambda$3077/275306293.apply$mcZ$sp(Unknown Source) org.apache.spark.sql.execution.streaming.ProcessingTimeExecutor.execute(TriggerExecutor.scala:57) org.apache.spark.sql.execution.streaming.MicroBatchExecution.runActivatedStream(MicroBatchExecution.scala:185) org.apache.spark.sql.execution.streaming.StreamExecution.org$apache$spark$sql$execution$streaming$StreamExecution$$runStream(StreamExecution.scala:333) org.apache.spark.sql.execution.streaming.StreamExecution$$anon$1.run(StreamExecution.scala:244)   == Sink == 0:  1: [2] 2: [3] [4] 3:  4:    == Plan == == Parsed Logical Plan == WriteToDataSourceV2 org.apache.spark.sql.execution.streaming.sources.MicroBatchWrite@1dab6692 +- SerializeFromObject [input[0, int, false] AS value#16992]    +- MapElements org.apache.spark.sql.kafka010.KafkaMicroBatchSourceSuiteBase$$Lambda$6167/824899604@5b4a18fa, class scala.Tuple2, [StructField(_1,StringType,true), StructField(_2,StringType,true)], obj#16991: int       +- DeserializeToObject newInstance(class scala.Tuple2), obj#16990: scala.Tuple2          +- Project [cast(key#16966 as string) AS key#16980, cast(value#16967 as string) AS value#16981]             +- StreamingDataSourceV2Relation [key#16966, value#16967, topic#16968, partition#16969, offset#16970L, timestamp#16971, timestampType#16972], org.apache.spark.sql.kafka010.KafkaSourceProvider$KafkaScan@439c0a4d, KafkaV2[SubscribePattern[topic-31-.*]], {}, {"topic-31-bad":{"2":0,"4":0,"1":0,"3":0,"0":0}}  == Analyzed Logical Plan ==  WriteToDataSourceV2 org.apache.spark.sql.execution.streaming.sources.MicroBatchWrite@1dab6692 +- SerializeFromObject [input[0, int, false] AS value#16992]    +- MapElements org.apache.spark.sql.kafka010.KafkaMicroBatchSourceSuiteBase$$Lambda$6167/824899604@5b4a18fa, class scala.Tuple2, [StructField(_1,StringType,true), StructField(_2,StringType,true)], obj#16991: int       +- DeserializeToObject newInstance(class scala.Tuple2), obj#16990: scala.Tuple2          +- Project [cast(key#16966 as string) AS key#16980, cast(value#16967 as string) AS value#16981]             +- StreamingDataSourceV2Relation [key#16966, value#16967, topic#16968, partition#16969, offset#16970L, timestamp#16971, timestampType#16972], org.apache.spark.sql.kafka010.KafkaSourceProvider$KafkaScan@439c0a4d, KafkaV2[SubscribePattern[topic-31-.*]], {}, {"topic-31-bad":{"2":0,"4":0,"1":0,"3":0,"0":0}}  == Optimized Logical Plan == WriteToDataSourceV2 org.apache.spark.sql.execution.streaming.sources.MicroBatchWrite@1dab6692 +- SerializeFromObject [input[0, int, false] AS value#16992]    +- MapElements org.apache.spark.sql.kafka010.KafkaMicroBatchSourceSuiteBase$$Lambda$6167/824899604@5b4a18fa, class scala.Tuple2, [StructField(_1,StringType,true), StructField(_2,StringType,true)], obj#16991: int       +- DeserializeToObject newInstance(class scala.Tuple2), obj#16990: scala.Tuple2          +- Project [cast(key#16966 as string) AS key#16980, cast(value#16967 as string) AS value#16981]             +- StreamingDataSourceV2Relation [key#16966, value#16967, topic#16968, partition#16969, offset#16970L, timestamp#16971, timestampType#16972], org.apache.spark.sql.kafka010.KafkaSourceProvider$KafkaScan@439c0a4d, KafkaV2[SubscribePattern[topic-31-.*]], {}, {"topic-31-bad":{"2":0,"4":0,"1":0,"3":0,"0":0}}  == Physical Plan == WriteToDataSourceV2 org.apache.spark.sql.execution.streaming.sources.MicroBatchWrite@1dab6692 +- *(1) SerializeFromObject [input[0, int, false] AS value#16992]    +- *(1) MapElements org.apache.spark.sql.kafka010.KafkaMicroBatchSourceSuiteBase$$Lambda$6167/824899604@5b4a18fa, obj#16991: int       +- *(1) DeserializeToObject newInstance(class scala.Tuple2), obj#16990: scala.Tuple2          +- *(1) Project [cast(key#16966 as string) AS key#16980, cast(value#16967 as string) AS value#16981]             +- *(1) Project [key#16966, value#16967, topic#16968, partition#16969, offset#16970L, timestamp#16971, timestampType#16972]                +- MicroBatchScan[key#16966, value#16967, topic#16968, partition#16969, offset#16970L, timestamp#16971, timestampType#16972] class org.apache.spark.sql.kafka010.KafkaSourceProvider$KafkaScan                     

Stacktrace

sbt.ForkMain$ForkError: org.scalatest.exceptions.TestFailedException: 
Error adding data: Timeout after waiting for 10000 ms.
org.apache.kafka.clients.producer.internals.FutureRecordMetadata.get(FutureRecordMetadata.java:78)
	org.apache.kafka.clients.producer.internals.FutureRecordMetadata.get(FutureRecordMetadata.java:30)
	org.apache.spark.sql.kafka010.KafkaTestUtils.$anonfun$sendMessages$3(KafkaTestUtils.scala:466)
	scala.collection.TraversableLike.$anonfun$map$1(TraversableLike.scala:238)
	scala.collection.IndexedSeqOptimized.foreach(IndexedSeqOptimized.scala:36)
	scala.collection.IndexedSeqOptimized.foreach$(IndexedSeqOptimized.scala:33)
	scala.collection.mutable.WrappedArray.foreach(WrappedArray.scala:38)
	scala.collection.TraversableLike.map(TraversableLike.scala:238)
	scala.collection.TraversableLike.map$(TraversableLike.scala:231)
	scala.collection.AbstractTraversable.map(Traversable.scala:108)


== Progress ==
   AssertOnQuery(<condition>, )
   AddKafkaData(topics = Set(topic-31-seems), data = WrappedArray(1, 2, 3), message = )
   CheckAnswer: [2],[3],[4]
   Assert(<condition>, )
=> AddKafkaData(topics = Set(topic-31-bad), data = WrappedArray(4, 5, 6), message = )
   CheckAnswer: [2],[3],[4],[5],[6],[7]

== Stream ==
Output Mode: Append
Stream state: {KafkaV2[SubscribePattern[topic-31-.*]]: {"topic-31-bad":{"2":0,"4":0,"1":0,"3":0,"0":0}}}
Thread state: alive
Thread stack trace: java.io.FileOutputStream.writeBytes(Native Method)
java.io.FileOutputStream.write(FileOutputStream.java:326)
sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:221)
sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:291)
sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java:295)
sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:141)
java.io.OutputStreamWriter.flush(OutputStreamWriter.java:229)
org.apache.log4j.helpers.QuietWriter.flush(QuietWriter.java:59)
org.apache.log4j.WriterAppender.subAppend(WriterAppender.java:324)
org.apache.log4j.WriterAppender.append(WriterAppender.java:162)
org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:251)
org.apache.log4j.helpers.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:66)
org.apache.log4j.Category.callAppenders(Category.java:206)
org.apache.log4j.Category.forcedLog(Category.java:391)
org.apache.log4j.Category.log(Category.java:856)
org.slf4j.impl.Log4jLoggerAdapter.info(Log4jLoggerAdapter.java:305)
org.apache.kafka.common.config.AbstractConfig.logAll(AbstractConfig.java:347)
org.apache.kafka.common.config.AbstractConfig.<init>(AbstractConfig.java:117)
org.apache.kafka.common.config.AbstractConfig.<init>(AbstractConfig.java:129)
org.apache.kafka.clients.consumer.ConsumerConfig.<init>(ConsumerConfig.java:543)
org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:631)
org.apache.kafka.clients.consumer.KafkaConsumer.<init>(KafkaConsumer.java:612)
org.apache.spark.sql.kafka010.SubscribePatternStrategy.createConsumer(ConsumerStrategy.scala:92)
org.apache.spark.sql.kafka010.KafkaOffsetReader.consumer(KafkaOffsetReader.scala:88)
org.apache.spark.sql.kafka010.KafkaOffsetReader.$anonfun$partitionsAssignedToConsumer$2(KafkaOffsetReader.scala:538)
org.apache.spark.sql.kafka010.KafkaOffsetReader$$Lambda$4816/818324802.apply(Unknown Source)
org.apache.spark.sql.kafka010.KafkaOffsetReader.$anonfun$withRetriesWithoutInterrupt$1(KafkaOffsetReader.scala:600)
org.apache.spark.sql.kafka010.KafkaOffsetReader$$Lambda$4817/386854260.apply$mcV$sp(Unknown Source)
scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
org.apache.spark.util.UninterruptibleThread.runUninterruptibly(UninterruptibleThread.scala:77)
org.apache.spark.sql.kafka010.KafkaOffsetReader.withRetriesWithoutInterrupt(KafkaOffsetReader.scala:599)
org.apache.spark.sql.kafka010.KafkaOffsetReader.$anonfun$partitionsAssignedToConsumer$1(KafkaOffsetReader.scala:536)
org.apache.spark.sql.kafka010.KafkaOffsetReader$$Lambda$4815/1653992500.apply(Unknown Source)
org.apache.spark.sql.kafka010.KafkaOffsetReader.runUninterruptibly(KafkaOffsetReader.scala:567)
org.apache.spark.sql.kafka010.KafkaOffsetReader.partitionsAssignedToConsumer(KafkaOffsetReader.scala:536)
org.apache.spark.sql.kafka010.KafkaOffsetReader.fetchLatestOffsets(KafkaOffsetReader.scala:316)
org.apache.spark.sql.kafka010.KafkaMicroBatchStream.latestOffset(KafkaMicroBatchStream.scala:90)
org.apache.spark.sql.execution.streaming.MicroBatchExecution.$anonfun$constructNextBatch$3(MicroBatchExecution.scala:380)
org.apache.spark.sql.execution.streaming.MicroBatchExecution$$Lambda$4808/532276247.apply(Unknown Source)
org.apache.spark.sql.execution.streaming.ProgressReporter.reportTimeTaken(ProgressReporter.scala:352)
org.apache.spark.sql.execution.streaming.ProgressReporter.reportTimeTaken$(ProgressReporter.scala:350)
org.apache.spark.sql.execution.streaming.StreamExecution.reportTimeTaken(StreamExecution.scala:68)
org.apache.spark.sql.execution.streaming.MicroBatchExecution.$anonfun$constructNextBatch$2(MicroBatchExecution.scala:371)
org.apache.spark.sql.execution.streaming.MicroBatchExecution$$Lambda$3090/1871202731.apply(Unknown Source)
scala.collection.TraversableLike.$anonfun$map$1(TraversableLike.scala:238)
scala.collection.TraversableLike$$Lambda$15/225290371.apply(Unknown Source)
scala.collection.immutable.Map$Map1.foreach(Map.scala:128)
scala.collection.TraversableLike.map(TraversableLike.scala:238)
scala.collection.TraversableLike.map$(TraversableLike.scala:231)
scala.collection.AbstractTraversable.map(Traversable.scala:108)
org.apache.spark.sql.execution.streaming.MicroBatchExecution.$anonfun$constructNextBatch$1(MicroBatchExecution.scala:368)
org.apache.spark.sql.execution.streaming.MicroBatchExecution$$Lambda$3089/1749734771.apply$mcZ$sp(Unknown Source)
scala.runtime.java8.JFunction0$mcZ$sp.apply(JFunction0$mcZ$sp.java:23)
org.apache.spark.sql.execution.streaming.MicroBatchExecution.withProgressLocked(MicroBatchExecution.scala:598)
org.apache.spark.sql.execution.streaming.MicroBatchExecution.constructNextBatch(MicroBatchExecution.scala:364)
org.apache.spark.sql.execution.streaming.MicroBatchExecution.$anonfun$runActivatedStream$2(MicroBatchExecution.scala:208)
org.apache.spark.sql.execution.streaming.MicroBatchExecution$$Lambda$3079/1357423135.apply$mcV$sp(Unknown Source)
scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
org.apache.spark.sql.execution.streaming.ProgressReporter.reportTimeTaken(ProgressReporter.scala:352)
org.apache.spark.sql.execution.streaming.ProgressReporter.reportTimeTaken$(ProgressReporter.scala:350)
org.apache.spark.sql.execution.streaming.StreamExecution.reportTimeTaken(StreamExecution.scala:68)
org.apache.spark.sql.execution.streaming.MicroBatchExecution.$anonfun$runActivatedStream$1(MicroBatchExecution.scala:191)
org.apache.spark.sql.execution.streaming.MicroBatchExecution$$Lambda$3077/275306293.apply$mcZ$sp(Unknown Source)
org.apache.spark.sql.execution.streaming.ProcessingTimeExecutor.execute(TriggerExecutor.scala:57)
org.apache.spark.sql.execution.streaming.MicroBatchExecution.runActivatedStream(MicroBatchExecution.scala:185)
org.apache.spark.sql.execution.streaming.StreamExecution.org$apache$spark$sql$execution$streaming$StreamExecution$$runStream(StreamExecution.scala:333)
org.apache.spark.sql.execution.streaming.StreamExecution$$anon$1.run(StreamExecution.scala:244)


== Sink ==
0: 
1: [2]
2: [3] [4]
3: 
4: 


== Plan ==
== Parsed Logical Plan ==
WriteToDataSourceV2 org.apache.spark.sql.execution.streaming.sources.MicroBatchWrite@1dab6692
+- SerializeFromObject [input[0, int, false] AS value#16992]
   +- MapElements org.apache.spark.sql.kafka010.KafkaMicroBatchSourceSuiteBase$$Lambda$6167/824899604@5b4a18fa, class scala.Tuple2, [StructField(_1,StringType,true), StructField(_2,StringType,true)], obj#16991: int
      +- DeserializeToObject newInstance(class scala.Tuple2), obj#16990: scala.Tuple2
         +- Project [cast(key#16966 as string) AS key#16980, cast(value#16967 as string) AS value#16981]
            +- StreamingDataSourceV2Relation [key#16966, value#16967, topic#16968, partition#16969, offset#16970L, timestamp#16971, timestampType#16972], org.apache.spark.sql.kafka010.KafkaSourceProvider$KafkaScan@439c0a4d, KafkaV2[SubscribePattern[topic-31-.*]], {}, {"topic-31-bad":{"2":0,"4":0,"1":0,"3":0,"0":0}}

== Analyzed Logical Plan ==

WriteToDataSourceV2 org.apache.spark.sql.execution.streaming.sources.MicroBatchWrite@1dab6692
+- SerializeFromObject [input[0, int, false] AS value#16992]
   +- MapElements org.apache.spark.sql.kafka010.KafkaMicroBatchSourceSuiteBase$$Lambda$6167/824899604@5b4a18fa, class scala.Tuple2, [StructField(_1,StringType,true), StructField(_2,StringType,true)], obj#16991: int
      +- DeserializeToObject newInstance(class scala.Tuple2), obj#16990: scala.Tuple2
         +- Project [cast(key#16966 as string) AS key#16980, cast(value#16967 as string) AS value#16981]
            +- StreamingDataSourceV2Relation [key#16966, value#16967, topic#16968, partition#16969, offset#16970L, timestamp#16971, timestampType#16972], org.apache.spark.sql.kafka010.KafkaSourceProvider$KafkaScan@439c0a4d, KafkaV2[SubscribePattern[topic-31-.*]], {}, {"topic-31-bad":{"2":0,"4":0,"1":0,"3":0,"0":0}}

== Optimized Logical Plan ==
WriteToDataSourceV2 org.apache.spark.sql.execution.streaming.sources.MicroBatchWrite@1dab6692
+- SerializeFromObject [input[0, int, false] AS value#16992]
   +- MapElements org.apache.spark.sql.kafka010.KafkaMicroBatchSourceSuiteBase$$Lambda$6167/824899604@5b4a18fa, class scala.Tuple2, [StructField(_1,StringType,true), StructField(_2,StringType,true)], obj#16991: int
      +- DeserializeToObject newInstance(class scala.Tuple2), obj#16990: scala.Tuple2
         +- Project [cast(key#16966 as string) AS key#16980, cast(value#16967 as string) AS value#16981]
            +- StreamingDataSourceV2Relation [key#16966, value#16967, topic#16968, partition#16969, offset#16970L, timestamp#16971, timestampType#16972], org.apache.spark.sql.kafka010.KafkaSourceProvider$KafkaScan@439c0a4d, KafkaV2[SubscribePattern[topic-31-.*]], {}, {"topic-31-bad":{"2":0,"4":0,"1":0,"3":0,"0":0}}

== Physical Plan ==
WriteToDataSourceV2 org.apache.spark.sql.execution.streaming.sources.MicroBatchWrite@1dab6692
+- *(1) SerializeFromObject [input[0, int, false] AS value#16992]
   +- *(1) MapElements org.apache.spark.sql.kafka010.KafkaMicroBatchSourceSuiteBase$$Lambda$6167/824899604@5b4a18fa, obj#16991: int
      +- *(1) DeserializeToObject newInstance(class scala.Tuple2), obj#16990: scala.Tuple2
         +- *(1) Project [cast(key#16966 as string) AS key#16980, cast(value#16967 as string) AS value#16981]
            +- *(1) Project [key#16966, value#16967, topic#16968, partition#16969, offset#16970L, timestamp#16971, timestampType#16972]
               +- MicroBatchScan[key#16966, value#16967, topic#16968, partition#16969, offset#16970L, timestamp#16971, timestampType#16972] class org.apache.spark.sql.kafka010.KafkaSourceProvider$KafkaScan

         
         
	at org.scalatest.Assertions.newAssertionFailedException(Assertions.scala:530)
	at org.scalatest.Assertions.newAssertionFailedException$(Assertions.scala:529)
	at org.scalatest.FunSuite.newAssertionFailedException(FunSuite.scala:1560)
	at org.scalatest.Assertions.fail(Assertions.scala:1091)
	at org.scalatest.Assertions.fail$(Assertions.scala:1087)
	at org.scalatest.FunSuite.fail(FunSuite.scala:1560)
	at org.apache.spark.sql.streaming.StreamTest.failTest$1(StreamTest.scala:452)
	at org.apache.spark.sql.streaming.StreamTest.executeAction$1(StreamTest.scala:724)
	at org.apache.spark.sql.streaming.StreamTest.$anonfun$testStream$56(StreamTest.scala:778)
	at org.apache.spark.sql.streaming.StreamTest.$anonfun$testStream$56$adapted(StreamTest.scala:765)
	at scala.collection.mutable.ResizableArray.foreach(ResizableArray.scala:62)
	at scala.collection.mutable.ResizableArray.foreach$(ResizableArray.scala:55)
	at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:49)
	at org.apache.spark.sql.streaming.StreamTest.liftedTree1$1(StreamTest.scala:765)
	at org.apache.spark.sql.streaming.StreamTest.testStream(StreamTest.scala:764)
	at org.apache.spark.sql.streaming.StreamTest.testStream$(StreamTest.scala:334)
	at org.apache.spark.sql.kafka010.KafkaSourceTest.testStream(KafkaMicroBatchSourceSuite.scala:53)
	at org.apache.spark.sql.kafka010.KafkaMicroBatchSourceSuiteBase.$anonfun$new$18(KafkaMicroBatchSourceSuite.scala:384)
	at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
	at org.scalatest.OutcomeOf.outcomeOf(OutcomeOf.scala:85)
	at org.scalatest.OutcomeOf.outcomeOf$(OutcomeOf.scala:83)
	at org.scalatest.OutcomeOf$.outcomeOf(OutcomeOf.scala:104)
	at org.scalatest.Transformer.apply(Transformer.scala:22)
	at org.scalatest.Transformer.apply(Transformer.scala:20)
	at org.scalatest.FunSuiteLike$$anon$1.apply(FunSuiteLike.scala:186)
	at org.apache.spark.SparkFunSuite.withFixture(SparkFunSuite.scala:151)
	at org.scalatest.FunSuiteLike.invokeWithFixture$1(FunSuiteLike.scala:184)
	at org.scalatest.FunSuiteLike.$anonfun$runTest$1(FunSuiteLike.scala:196)
	at org.scalatest.SuperEngine.runTestImpl(Engine.scala:286)
	at org.scalatest.FunSuiteLike.runTest(FunSuiteLike.scala:196)
	at org.scalatest.FunSuiteLike.runTest$(FunSuiteLike.scala:178)
	at org.apache.spark.SparkFunSuite.org$scalatest$BeforeAndAfterEach$$super$runTest(SparkFunSuite.scala:58)
	at org.scalatest.BeforeAndAfterEach.runTest(BeforeAndAfterEach.scala:221)
	at org.scalatest.BeforeAndAfterEach.runTest$(BeforeAndAfterEach.scala:214)
	at org.apache.spark.SparkFunSuite.runTest(SparkFunSuite.scala:58)
	at org.scalatest.FunSuiteLike.$anonfun$runTests$1(FunSuiteLike.scala:229)
	at org.scalatest.SuperEngine.$anonfun$runTestsInBranch$1(Engine.scala:393)
	at scala.collection.immutable.List.foreach(List.scala:392)
	at org.scalatest.SuperEngine.traverseSubNodes$1(Engine.scala:381)
	at org.scalatest.SuperEngine.runTestsInBranch(Engine.scala:376)
	at org.scalatest.SuperEngine.runTestsImpl(Engine.scala:458)
	at org.scalatest.FunSuiteLike.runTests(FunSuiteLike.scala:229)
	at org.scalatest.FunSuiteLike.runTests$(FunSuiteLike.scala:228)
	at org.scalatest.FunSuite.runTests(FunSuite.scala:1560)
	at org.scalatest.Suite.run(Suite.scala:1124)
	at org.scalatest.Suite.run$(Suite.scala:1106)
	at org.scalatest.FunSuite.org$scalatest$FunSuiteLike$$super$run(FunSuite.scala:1560)
	at org.scalatest.FunSuiteLike.$anonfun$run$1(FunSuiteLike.scala:233)
	at org.scalatest.SuperEngine.runImpl(Engine.scala:518)
	at org.scalatest.FunSuiteLike.run(FunSuiteLike.scala:233)
	at org.scalatest.FunSuiteLike.run$(FunSuiteLike.scala:232)
	at org.apache.spark.SparkFunSuite.org$scalatest$BeforeAndAfterAll$$super$run(SparkFunSuite.scala:58)
	at org.scalatest.BeforeAndAfterAll.liftedTree1$1(BeforeAndAfterAll.scala:213)
	at org.scalatest.BeforeAndAfterAll.run(BeforeAndAfterAll.scala:210)
	at org.scalatest.BeforeAndAfterAll.run$(BeforeAndAfterAll.scala:208)
	at org.apache.spark.SparkFunSuite.run(SparkFunSuite.scala:58)
	at org.scalatest.tools.Framework.org$scalatest$tools$Framework$$runSuite(Framework.scala:317)
	at org.scalatest.tools.Framework$ScalaTestTask.execute(Framework.scala:510)
	at sbt.ForkMain$Run$2.call(ForkMain.java:296)
	at sbt.ForkMain$Run$2.call(ForkMain.java:286)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	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:748)