&#010;Timed out waiting for stream: The code passed to failAfter did not complete within 30 seconds.&#010;java.lang.Thread.getStackTrace(Thread.java:1559)&#010; org.scalatest.concurrent.TimeLimits.failAfterImpl(TimeLimits.scala:234)&#010; org.scalatest.concurrent.TimeLimits.failAfterImpl$(TimeLimits.scala:233)&#010; org.apache.spark.sql.kafka010.KafkaSourceTest.failAfterImpl(KafkaMicroBatchSourceSuite.scala:50)&#010; org.scalatest.concurrent.TimeLimits.failAfter(TimeLimits.scala:230)&#010; org.scalatest.concurrent.TimeLimits.failAfter$(TimeLimits.scala:229)&#010; org.apache.spark.sql.kafka010.KafkaSourceTest.failAfter(KafkaMicroBatchSourceSuite.scala:50)&#010; org.apache.spark.sql.streaming.StreamTest.$anonfun$testStream$7(StreamTest.scala:463)&#010; org.apache.spark.sql.streaming.StreamTest.$anonfun$testStream$7$adapted(StreamTest.scala:462)&#010; scala.collection.mutable.HashMap.$anonfun$foreach$1(HashMap.scala:149)&#010;&#010; Caused by: null&#010; java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.reportInterruptAfterWait(AbstractQueuedSynchronizer.java:2014)&#010; java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2173)&#010; org.apache.spark.sql.execution.streaming.StreamExecution.processAllAvailable(StreamExecution.scala:508)&#010; org.apache.spark.sql.streaming.StreamTest.$anonfun$testStream$8(StreamTest.scala:467)&#010; scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)&#010; org.scalatest.enablers.Timed$$anon$1.timeoutAfter(Timed.scala:127)&#010; org.scalatest.concurrent.TimeLimits.failAfterImpl(TimeLimits.scala:239)&#010; org.scalatest.concurrent.TimeLimits.failAfterImpl$(TimeLimits.scala:233)&#010; org.apache.spark.sql.kafka010.KafkaSourceTest.failAfterImpl(KafkaMicroBatchSourceSuite.scala:50)&#010; org.scalatest.concurrent.TimeLimits.failAfter(TimeLimits.scala:230)&#010;&#010;&#010;== Progress ==&#010; AssertOnQuery(<condition>, )&#010; AddKafkaData(topics = Set(topic-4), data = WrappedArray(1, 2, 3), message = )&#010; CheckAnswer: [2],[3],[4]&#010; StopStream&#010; StartStream(ContinuousTrigger(1000),org.apache.spark.util.SystemClock@5cd04a38,Map(),null)&#010; CheckAnswer: [2],[3],[4]&#010; StopStream&#010; AddKafkaData(topics = Set(topic-4), data = WrappedArray(4, 5, 6), message = )&#010; StartStream(ContinuousTrigger(1000),org.apache.spark.util.SystemClock@1a48bc64,Map(),null)&#010;=> CheckAnswer: [2],[3],[4],[5],[6],[7]&#010; AddKafkaData(topics = Set(topic-4), data = WrappedArray(7, 8), message = )&#010; CheckAnswer: [2],[3],[4],[5],[6],[7],[8],[9]&#010; AssertOnQuery(<condition>, Add partitions)&#010; AddKafkaData(topics = Set(topic-4), data = WrappedArray(9, 10, 11, 12, 13, 14, 15, 16), message = )&#010; CheckAnswer: [2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12],[13],[14],[15],[16],[17]&#010;&#010;== Stream ==&#010;Output Mode: Append&#010;Stream state: {KafkaSource[Subscribe[topic-4]]: {"topic-4":{"2":1,"4":1,"1":2,"3":1,"0":2}}}&#010;Thread state: alive&#010;Thread stack trace: sun.misc.Unsafe.park(Native Method)&#010;java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)&#010;java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836)&#010;java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:997)&#010;java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1304)&#010;scala.concurrent.impl.Promise$DefaultPromise.tryAwait(Promise.scala:242)&#010;scala.concurrent.impl.Promise$DefaultPromise.ready(Promise.scala:258)&#010;scala.concurrent.impl.Promise$DefaultPromise.ready(Promise.scala:187)&#010;org.apache.spark.util.ThreadUtils$.awaitReady(ThreadUtils.scala:242)&#010;org.apache.spark.scheduler.DAGScheduler.runJob(DAGScheduler.scala:736)&#010;org.apache.spark.SparkContext.runJob(SparkContext.scala:2013)&#010;org.apache.spark.SparkContext.runJob(SparkContext.scala:2034)&#010;org.apache.spark.SparkContext.runJob(SparkContext.scala:2053)&#010;org.apache.spark.SparkContext.runJob(SparkContext.scala:2078)&#010;org.apache.spark.rdd.RDD.$anonfun$collect$1(RDD.scala:961)&#010;org.apache.spark.rdd.RDD$$Lambda$3132/622701383.apply(Unknown Source)&#010;org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:151)&#010;org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:112)&#010;org.apache.spark.rdd.RDD.withScope(RDD.scala:366)&#010;org.apache.spark.rdd.RDD.collect(RDD.scala:960)&#010;org.apache.spark.sql.execution.streaming.continuous.WriteToContinuousDataSourceExec.doExecute(WriteToContinuousDataSourceExec.scala:54)&#010;org.apache.spark.sql.execution.SparkPlan.$anonfun$execute$1(SparkPlan.scala:131)&#010;org.apache.spark.sql.execution.SparkPlan$$Lambda$2599/1453037150.apply(Unknown Source)&#010;org.apache.spark.sql.execution.SparkPlan.$anonfun$executeQuery$1(SparkPlan.scala:155)&#010;org.apache.spark.sql.execution.SparkPlan$$Lambda$2621/1096000450.apply(Unknown Source)&#010;org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:151)&#010;org.apache.spark.sql.execution.SparkPlan.executeQuery(SparkPlan.scala:152)&#010;org.apache.spark.sql.execution.SparkPlan.execute(SparkPlan.scala:127)&#010;org.apache.spark.sql.execution.streaming.continuous.ContinuousExecution.$anonfun$runContinuous$4(ContinuousExecution.scala:257)&#010;org.apache.spark.sql.execution.streaming.continuous.ContinuousExecution$$Lambda$5115/1939248685.apply(Unknown Source)&#010;org.apache.spark.sql.execution.SQLExecution$.$anonfun$withNewExecutionId$4(SQLExecution.scala:100)&#010;org.apache.spark.sql.execution.SQLExecution$$$Lambda$2528/358783140.apply(Unknown Source)&#010;org.apache.spark.sql.execution.SQLExecution$.withSQLConfPropagated(SQLExecution.scala:160)&#010;org.apache.spark.sql.execution.SQLExecution$.withNewExecutionId(SQLExecution.scala:87)&#010;org.apache.spark.sql.execution.streaming.continuous.ContinuousExecution.$anonfun$runContinuous$3(ContinuousExecution.scala:257)&#010;org.apache.spark.sql.execution.streaming.continuous.ContinuousExecution$$Lambda$5113/1844450079.apply(Unknown Source)&#010;org.apache.spark.sql.execution.streaming.ProgressReporter.reportTimeTaken(ProgressReporter.scala:328)&#010;org.apache.spark.sql.execution.streaming.ProgressReporter.reportTimeTaken$(ProgressReporter.scala:326)&#010;org.apache.spark.sql.execution.streaming.StreamExecution.reportTimeTaken(StreamExecution.scala:68)&#010;org.apache.spark.sql.execution.streaming.continuous.ContinuousExecution.runContinuous(ContinuousExecution.scala:256)&#010;org.apache.spark.sql.execution.streaming.continuous.ContinuousExecution.runActivatedStream(ContinuousExecution.scala:110)&#010;org.apache.spark.sql.execution.streaming.StreamExecution.org$apache$spark$sql$execution$streaming$StreamExecution$$runStream(StreamExecution.scala:332)&#010;org.apache.spark.sql.execution.streaming.StreamExecution$$anon$1.run(StreamExecution.scala:244)&#010;&#010;&#010;== Sink ==&#010;0: &#010;1: [2] [3] [4]&#010;2: &#010;3: &#010;4: &#010;5: [7] [5] [6]&#010;&#010;&#010;== Plan ==&#010;== Parsed Logical Plan ==&#010;WriteToContinuousDataSource org.apache.spark.sql.execution.streaming.sources.MemoryStreamingWrite@4c2fa15&#010;+- SerializeFromObject [input[0, int, false] AS value#15996]&#010; +- MapElements org.apache.spark.sql.kafka010.KafkaSourceSuiteBase$$Lambda$3263/1639463154@7f57da21, class scala.Tuple2, [StructField(_1,StringType,true), StructField(_2,StringType,true)], obj#15995: int&#010; +- DeserializeToObject newInstance(class scala.Tuple2), obj#15994: scala.Tuple2&#010; +- Project [cast(key#15970 as string) AS key#15984, cast(value#15971 as string) AS value#15985]&#010; +- StreamingDataSourceV2Relation [key#15970, value#15971, topic#15972, partition#15973, offset#15974L, timestamp#15975, timestampType#15976], org.apache.spark.sql.kafka010.KafkaSourceProvider$KafkaScan@4ca2cacf, KafkaSource[Subscribe[topic-4]], {"topic-4":{"2":1,"4":0,"1":1,"3":1,"0":1}}&#010;&#010;== Analyzed Logical Plan ==&#010;&#010;WriteToContinuousDataSource org.apache.spark.sql.execution.streaming.sources.MemoryStreamingWrite@4c2fa15&#010;+- SerializeFromObject [input[0, int, false] AS value#15996]&#010; +- MapElements org.apache.spark.sql.kafka010.KafkaSourceSuiteBase$$Lambda$3263/1639463154@7f57da21, class scala.Tuple2, [StructField(_1,StringType,true), StructField(_2,StringType,true)], obj#15995: int&#010; +- DeserializeToObject newInstance(class scala.Tuple2), obj#15994: scala.Tuple2&#010; +- Project [cast(key#15970 as string) AS key#15984, cast(value#15971 as string) AS value#15985]&#010; +- StreamingDataSourceV2Relation [key#15970, value#15971, topic#15972, partition#15973, offset#15974L, timestamp#15975, timestampType#15976], org.apache.spark.sql.kafka010.KafkaSourceProvider$KafkaScan@4ca2cacf, KafkaSource[Subscribe[topic-4]], {"topic-4":{"2":1,"4":0,"1":1,"3":1,"0":1}}&#010;&#010;== Optimized Logical Plan ==&#010;WriteToContinuousDataSource org.apache.spark.sql.execution.streaming.sources.MemoryStreamingWrite@4c2fa15&#010;+- SerializeFromObject [input[0, int, false] AS value#15996]&#010; +- MapElements org.apache.spark.sql.kafka010.KafkaSourceSuiteBase$$Lambda$3263/1639463154@7f57da21, class scala.Tuple2, [StructField(_1,StringType,true), StructField(_2,StringType,true)], obj#15995: int&#010; +- DeserializeToObject newInstance(class scala.Tuple2), obj#15994: scala.Tuple2&#010; +- Project [cast(key#15970 as string) AS key#15984, cast(value#15971 as string) AS value#15985]&#010; +- StreamingDataSourceV2Relation [key#15970, value#15971, topic#15972, partition#15973, offset#15974L, timestamp#15975, timestampType#15976], org.apache.spark.sql.kafka010.KafkaSourceProvider$KafkaScan@4ca2cacf, KafkaSource[Subscribe[topic-4]], {"topic-4":{"2":1,"4":0,"1":1,"3":1,"0":1}}&#010;&#010;== Physical Plan ==&#010;WriteToContinuousDataSource org.apache.spark.sql.execution.streaming.sources.MemoryStreamingWrite@4c2fa15&#010;+- *(1) SerializeFromObject [input[0, int, false] AS value#15996]&#010; +- *(1) MapElements org.apache.spark.sql.kafka010.KafkaSourceSuiteBase$$Lambda$3263/1639463154@7f57da21, obj#15995: int&#010; +- *(1) DeserializeToObject newInstance(class scala.Tuple2), obj#15994: scala.Tuple2&#010; +- *(1) Project [cast(key#15970 as string) AS key#15984, cast(value#15971 as string) AS value#15985]&#010; +- *(1) Project [key#15970, value#15971, topic#15972, partition#15973, offset#15974L, timestamp#15975, timestampType#15976]&#010; +- *(1) ContinuousScan[key#15970, value#15971, topic#15972, partition#15973, offset#15974L, timestamp#15975, timestampType#15976] class org.apache.spark.sql.kafka010.KafkaSourceProvider$KafkaScan&#010;&#010; &#010;


      org.scalatest.exceptions.TestFailedException: 
Timed out waiting for stream: The code passed to failAfter did not complete within 30 seconds.
java.lang.Thread.getStackTrace(Thread.java:1559)
	org.scalatest.concurrent.TimeLimits.failAfterImpl(TimeLimits.scala:234)
	org.scalatest.concurrent.TimeLimits.failAfterImpl$(TimeLimits.scala:233)
	org.apache.spark.sql.kafka010.KafkaSourceTest.failAfterImpl(KafkaMicroBatchSourceSuite.scala:50)
	org.scalatest.concurrent.TimeLimits.failAfter(TimeLimits.scala:230)
	org.scalatest.concurrent.TimeLimits.failAfter$(TimeLimits.scala:229)
	org.apache.spark.sql.kafka010.KafkaSourceTest.failAfter(KafkaMicroBatchSourceSuite.scala:50)
	org.apache.spark.sql.streaming.StreamTest.$anonfun$testStream$7(StreamTest.scala:463)
	org.apache.spark.sql.streaming.StreamTest.$anonfun$testStream$7$adapted(StreamTest.scala:462)
	scala.collection.mutable.HashMap.$anonfun$foreach$1(HashMap.scala:149)

	Caused by: 	null
	java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.reportInterruptAfterWait(AbstractQueuedSynchronizer.java:2014)
		java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2173)
		org.apache.spark.sql.execution.streaming.StreamExecution.processAllAvailable(StreamExecution.scala:508)
		org.apache.spark.sql.streaming.StreamTest.$anonfun$testStream$8(StreamTest.scala:467)
		scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:23)
		org.scalatest.enablers.Timed$$anon$1.timeoutAfter(Timed.scala:127)
		org.scalatest.concurrent.TimeLimits.failAfterImpl(TimeLimits.scala:239)
		org.scalatest.concurrent.TimeLimits.failAfterImpl$(TimeLimits.scala:233)
		org.apache.spark.sql.kafka010.KafkaSourceTest.failAfterImpl(KafkaMicroBatchSourceSuite.scala:50)
		org.scalatest.concurrent.TimeLimits.failAfter(TimeLimits.scala:230)


== Progress ==
   AssertOnQuery(<condition>, )
   AddKafkaData(topics = Set(topic-4), data = WrappedArray(1, 2, 3), message = )
   CheckAnswer: [2],[3],[4]
   StopStream
   StartStream(ContinuousTrigger(1000),org.apache.spark.util.SystemClock@5cd04a38,Map(),null)
   CheckAnswer: [2],[3],[4]
   StopStream
   AddKafkaData(topics = Set(topic-4), data = WrappedArray(4, 5, 6), message = )
   StartStream(ContinuousTrigger(1000),org.apache.spark.util.SystemClock@1a48bc64,Map(),null)
=> CheckAnswer: [2],[3],[4],[5],[6],[7]
   AddKafkaData(topics = Set(topic-4), data = WrappedArray(7, 8), message = )
   CheckAnswer: [2],[3],[4],[5],[6],[7],[8],[9]
   AssertOnQuery(<condition>, Add partitions)
   AddKafkaData(topics = Set(topic-4), data = WrappedArray(9, 10, 11, 12, 13, 14, 15, 16), message = )
   CheckAnswer: [2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12],[13],[14],[15],[16],[17]

== Stream ==
Output Mode: Append
Stream state: {KafkaSource[Subscribe[topic-4]]: {"topic-4":{"2":1,"4":1,"1":2,"3":1,"0":2}}}
Thread state: alive
Thread stack trace: sun.misc.Unsafe.park(Native Method)
java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836)
java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:997)
java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1304)
scala.concurrent.impl.Promise$DefaultPromise.tryAwait(Promise.scala:242)
scala.concurrent.impl.Promise$DefaultPromise.ready(Promise.scala:258)
scala.concurrent.impl.Promise$DefaultPromise.ready(Promise.scala:187)
org.apache.spark.util.ThreadUtils$.awaitReady(ThreadUtils.scala:242)
org.apache.spark.scheduler.DAGScheduler.runJob(DAGScheduler.scala:736)
org.apache.spark.SparkContext.runJob(SparkContext.scala:2013)
org.apache.spark.SparkContext.runJob(SparkContext.scala:2034)
org.apache.spark.SparkContext.runJob(SparkContext.scala:2053)
org.apache.spark.SparkContext.runJob(SparkContext.scala:2078)
org.apache.spark.rdd.RDD.$anonfun$collect$1(RDD.scala:961)
org.apache.spark.rdd.RDD$$Lambda$3132/622701383.apply(Unknown Source)
org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:151)
org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:112)
org.apache.spark.rdd.RDD.withScope(RDD.scala:366)
org.apache.spark.rdd.RDD.collect(RDD.scala:960)
org.apache.spark.sql.execution.streaming.continuous.WriteToContinuousDataSourceExec.doExecute(WriteToContinuousDataSourceExec.scala:54)
org.apache.spark.sql.execution.SparkPlan.$anonfun$execute$1(SparkPlan.scala:131)
org.apache.spark.sql.execution.SparkPlan$$Lambda$2599/1453037150.apply(Unknown Source)
org.apache.spark.sql.execution.SparkPlan.$anonfun$executeQuery$1(SparkPlan.scala:155)
org.apache.spark.sql.execution.SparkPlan$$Lambda$2621/1096000450.apply(Unknown Source)
org.apache.spark.rdd.RDDOperationScope$.withScope(RDDOperationScope.scala:151)
org.apache.spark.sql.execution.SparkPlan.executeQuery(SparkPlan.scala:152)
org.apache.spark.sql.execution.SparkPlan.execute(SparkPlan.scala:127)
org.apache.spark.sql.execution.streaming.continuous.ContinuousExecution.$anonfun$runContinuous$4(ContinuousExecution.scala:257)
org.apache.spark.sql.execution.streaming.continuous.ContinuousExecution$$Lambda$5115/1939248685.apply(Unknown Source)
org.apache.spark.sql.execution.SQLExecution$.$anonfun$withNewExecutionId$4(SQLExecution.scala:100)
org.apache.spark.sql.execution.SQLExecution$$$Lambda$2528/358783140.apply(Unknown Source)
org.apache.spark.sql.execution.SQLExecution$.withSQLConfPropagated(SQLExecution.scala:160)
org.apache.spark.sql.execution.SQLExecution$.withNewExecutionId(SQLExecution.scala:87)
org.apache.spark.sql.execution.streaming.continuous.ContinuousExecution.$anonfun$runContinuous$3(ContinuousExecution.scala:257)
org.apache.spark.sql.execution.streaming.continuous.ContinuousExecution$$Lambda$5113/1844450079.apply(Unknown Source)
org.apache.spark.sql.execution.streaming.ProgressReporter.reportTimeTaken(ProgressReporter.scala:328)
org.apache.spark.sql.execution.streaming.ProgressReporter.reportTimeTaken$(ProgressReporter.scala:326)
org.apache.spark.sql.execution.streaming.StreamExecution.reportTimeTaken(StreamExecution.scala:68)
org.apache.spark.sql.execution.streaming.continuous.ContinuousExecution.runContinuous(ContinuousExecution.scala:256)
org.apache.spark.sql.execution.streaming.continuous.ContinuousExecution.runActivatedStream(ContinuousExecution.scala:110)
org.apache.spark.sql.execution.streaming.StreamExecution.org$apache$spark$sql$execution$streaming$StreamExecution$$runStream(StreamExecution.scala:332)
org.apache.spark.sql.execution.streaming.StreamExecution$$anon$1.run(StreamExecution.scala:244)


== Sink ==
0: 
1: [2] [3] [4]
2: 
3: 
4: 
5: [7] [5] [6]


== Plan ==
== Parsed Logical Plan ==
WriteToContinuousDataSource org.apache.spark.sql.execution.streaming.sources.MemoryStreamingWrite@4c2fa15
+- SerializeFromObject [input[0, int, false] AS value#15996]
   +- MapElements org.apache.spark.sql.kafka010.KafkaSourceSuiteBase$$Lambda$3263/1639463154@7f57da21, class scala.Tuple2, [StructField(_1,StringType,true), StructField(_2,StringType,true)], obj#15995: int
      +- DeserializeToObject newInstance(class scala.Tuple2), obj#15994: scala.Tuple2
         +- Project [cast(key#15970 as string) AS key#15984, cast(value#15971 as string) AS value#15985]
            +- StreamingDataSourceV2Relation [key#15970, value#15971, topic#15972, partition#15973, offset#15974L, timestamp#15975, timestampType#15976], org.apache.spark.sql.kafka010.KafkaSourceProvider$KafkaScan@4ca2cacf, KafkaSource[Subscribe[topic-4]], {"topic-4":{"2":1,"4":0,"1":1,"3":1,"0":1}}

== Analyzed Logical Plan ==

WriteToContinuousDataSource org.apache.spark.sql.execution.streaming.sources.MemoryStreamingWrite@4c2fa15
+- SerializeFromObject [input[0, int, false] AS value#15996]
   +- MapElements org.apache.spark.sql.kafka010.KafkaSourceSuiteBase$$Lambda$3263/1639463154@7f57da21, class scala.Tuple2, [StructField(_1,StringType,true), StructField(_2,StringType,true)], obj#15995: int
      +- DeserializeToObject newInstance(class scala.Tuple2), obj#15994: scala.Tuple2
         +- Project [cast(key#15970 as string) AS key#15984, cast(value#15971 as string) AS value#15985]
            +- StreamingDataSourceV2Relation [key#15970, value#15971, topic#15972, partition#15973, offset#15974L, timestamp#15975, timestampType#15976], org.apache.spark.sql.kafka010.KafkaSourceProvider$KafkaScan@4ca2cacf, KafkaSource[Subscribe[topic-4]], {"topic-4":{"2":1,"4":0,"1":1,"3":1,"0":1}}

== Optimized Logical Plan ==
WriteToContinuousDataSource org.apache.spark.sql.execution.streaming.sources.MemoryStreamingWrite@4c2fa15
+- SerializeFromObject [input[0, int, false] AS value#15996]
   +- MapElements org.apache.spark.sql.kafka010.KafkaSourceSuiteBase$$Lambda$3263/1639463154@7f57da21, class scala.Tuple2, [StructField(_1,StringType,true), StructField(_2,StringType,true)], obj#15995: int
      +- DeserializeToObject newInstance(class scala.Tuple2), obj#15994: scala.Tuple2
         +- Project [cast(key#15970 as string) AS key#15984, cast(value#15971 as string) AS value#15985]
            +- StreamingDataSourceV2Relation [key#15970, value#15971, topic#15972, partition#15973, offset#15974L, timestamp#15975, timestampType#15976], org.apache.spark.sql.kafka010.KafkaSourceProvider$KafkaScan@4ca2cacf, KafkaSource[Subscribe[topic-4]], {"topic-4":{"2":1,"4":0,"1":1,"3":1,"0":1}}

== Physical Plan ==
WriteToContinuousDataSource org.apache.spark.sql.execution.streaming.sources.MemoryStreamingWrite@4c2fa15
+- *(1) SerializeFromObject [input[0, int, false] AS value#15996]
   +- *(1) MapElements org.apache.spark.sql.kafka010.KafkaSourceSuiteBase$$Lambda$3263/1639463154@7f57da21, obj#15995: int
      +- *(1) DeserializeToObject newInstance(class scala.Tuple2), obj#15994: scala.Tuple2
         +- *(1) Project [cast(key#15970 as string) AS key#15984, cast(value#15971 as string) AS value#15985]
            +- *(1) Project [key#15970, value#15971, topic#15972, partition#15973, offset#15974L, timestamp#15975, timestampType#15976]
               +- *(1) ContinuousScan[key#15970, value#15971, topic#15972, partition#15973, offset#15974L, timestamp#15975, timestampType#15976] class org.apache.spark.sql.kafka010.KafkaSourceProvider$KafkaScan

         
         
      at org.scalatest.Assertions.newAssertionFailedException(Assertions.scala:528)
      at org.scalatest.Assertions.newAssertionFailedException$(Assertions.scala:527)
      at org.scalatest.FunSuite.newAssertionFailedException(FunSuite.scala:1560)
      at org.scalatest.Assertions.fail(Assertions.scala:1089)
      at org.scalatest.Assertions.fail$(Assertions.scala:1085)
      at org.scalatest.FunSuite.fail(FunSuite.scala:1560)
      at org.apache.spark.sql.streaming.StreamTest.failTest$1(StreamTest.scala:444)
      at org.apache.spark.sql.streaming.StreamTest.liftedTree1$1(StreamTest.scala:780)
      at org.apache.spark.sql.streaming.StreamTest.testStream(StreamTest.scala:756)
      at org.apache.spark.sql.streaming.StreamTest.testStream$(StreamTest.scala:326)
      at org.apache.spark.sql.kafka010.KafkaSourceTest.testStream(KafkaMicroBatchSourceSuite.scala:50)
      at org.apache.spark.sql.kafka010.KafkaSourceSuiteBase.testFromLatestOffsets(KafkaMicroBatchSourceSuite.scala:1475)
      at org.apache.spark.sql.kafka010.KafkaSourceSuiteBase.$anonfun$new$117(KafkaMicroBatchSourceSuite.scala:1214)
      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:149)
      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:289)
      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:56)
      at org.scalatest.BeforeAndAfterEach.runTest(BeforeAndAfterEach.scala:221)
      at org.scalatest.BeforeAndAfterEach.runTest$(BeforeAndAfterEach.scala:214)
      at org.apache.spark.SparkFunSuite.runTest(SparkFunSuite.scala:56)
      at org.scalatest.FunSuiteLike.$anonfun$runTests$1(FunSuiteLike.scala:229)
      at org.scalatest.SuperEngine.$anonfun$runTestsInBranch$1(Engine.scala:396)
      at scala.collection.immutable.List.foreach(List.scala:392)
      at org.scalatest.SuperEngine.traverseSubNodes$1(Engine.scala:384)
      at org.scalatest.SuperEngine.runTestsInBranch(Engine.scala:379)
      at org.scalatest.SuperEngine.runTestsImpl(Engine.scala:461)
      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:1147)
      at org.scalatest.Suite.run$(Suite.scala:1129)
      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:521)
      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:56)
      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:56)
      at org.scalatest.Suite.callExecuteOnSuite$1(Suite.scala:1210)
      at org.scalatest.Suite.$anonfun$runNestedSuites$1(Suite.scala:1257)
      at scala.collection.IndexedSeqOptimized.foreach(IndexedSeqOptimized.scala:36)
      at scala.collection.IndexedSeqOptimized.foreach$(IndexedSeqOptimized.scala:33)
      at scala.collection.mutable.ArrayOps$ofRef.foreach(ArrayOps.scala:198)
      at org.scalatest.Suite.runNestedSuites(Suite.scala:1255)
      at org.scalatest.Suite.runNestedSuites$(Suite.scala:1189)
      at org.scalatest.tools.DiscoverySuite.runNestedSuites(DiscoverySuite.scala:30)
      at org.scalatest.Suite.run(Suite.scala:1144)
      at org.scalatest.Suite.run$(Suite.scala:1129)
      at org.scalatest.tools.DiscoverySuite.run(DiscoverySuite.scala:30)
      at org.scalatest.tools.SuiteRunner.run(SuiteRunner.scala:45)
      at org.scalatest.tools.Runner$.$anonfun$doRunRunRunDaDoRunRun$13(Runner.scala:1346)
      at org.scalatest.tools.Runner$.$anonfun$doRunRunRunDaDoRunRun$13$adapted(Runner.scala:1340)
      at scala.collection.immutable.List.foreach(List.scala:392)
      at org.scalatest.tools.Runner$.doRunRunRunDaDoRunRun(Runner.scala:1340)
      at org.scalatest.tools.Runner$.$anonfun$runOptionallyWithPassFailReporter$24(Runner.scala:1031)
      at org.scalatest.tools.Runner$.$anonfun$runOptionallyWithPassFailReporter$24$adapted(Runner.scala:1010)
      at org.scalatest.tools.Runner$.withClassLoaderAndDispatchReporter(Runner.scala:1506)
      at org.scalatest.tools.Runner$.runOptionallyWithPassFailReporter(Runner.scala:1010)
      at org.scalatest.tools.Runner$.main(Runner.scala:827)
      at org.scalatest.tools.Runner.main(Runner.scala)