&#010;&#010;== Results ==&#010;!== Correct Answer - 27 == == Spark Answer - 26 ==&#010; struct<value:int> struct<value:int>&#010; [10] [10]&#010; [11] [11]&#010; [12] [12]&#010; [13] [13]&#010; [14] [14]&#010; [15] [15]&#010; [16] [16]&#010; [17] [17]&#010; [18] [18]&#010; [19] [19]&#010; [1] [1]&#010; [20] [20]&#010; [21] [21]&#010; [22] [22]&#010; [23] [23]&#010; [24] [24]&#010; [25] [25]&#010; [26] [26]&#010; [27] [27]&#010; [2] [2]&#010; [3] [3]&#010; [4] [4]&#010; [5] [5]&#010; [6] [6]&#010; [7] [7]&#010; [8] [8]&#010;![9] &#010; &#010;&#010;== Progress ==&#010; AssertOnQuery(<condition>, )&#010; AddKafkaData(topics = Set(stress4, stress2, stress1, stress5, stress3), data = Range 0 until 7, message = )&#010; CheckAnswer: [1],[2],[3],[4],[5],[6],[7]&#010; AddKafkaData(topics = Set(stress1, stress3, stress4, stress5), data = empty Range 7 until 7, message = Delete topic stress2)&#010; AddKafkaData(topics = Set(stress1, stress3, stress4, stress5), data = Range 7 until 8, message = Add partition)&#010; AddKafkaData(topics = Set(stress1, stress3, stress4, stress5), data = empty Range 8 until 8, message = Delete topic stress1)&#010; AddKafkaData(topics = Set(stress4, stress6, stress1, stress5, stress3), data = Range 8 until 9, message = Add topic stress7)&#010; AddKafkaData(topics = Set(stress1, stress3, stress4, stress5), data = Range 9 until 13, message = Delete topic stress6)&#010; AddKafkaData(topics = Set(stress4, stress8, stress1, stress5, stress3), data = Range 13 until 20, message = Add topic stress9)&#010; AddKafkaData(topics = Set(stress4, stress8, stress1, stress5, stress3), data = Range 20 until 27, message = )&#010; AddKafkaData(topics = Set(stress4, stress8, stress1, stress5, stress3), data = empty Range 27 until 27, message = )&#010;=> CheckAnswer: [1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12],[13],[14],[15],[16],[17],[18],[19],[20],[21],[22],[23],[24],[25],[26],[27]&#010; StopStream&#010; AddKafkaData(topics = Set(stress4, stress8, stress1, stress5, stress3), data = Range 27 until 31, message = )&#010; StartStream(ProcessingTime(0),org.apache.spark.util.SystemClock@6871bc28,Map(),null)&#010; CheckAnswer: [1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12],[13],[14],[15],[16],[17],[18],[19],[20],[21],[22],[23],[24],[25],[26],[27],[28],[29],[30],[31]&#010; AddKafkaData(topics = Set(stress4, stress8, stress1, stress5, stress3), data = Range 31 until 36, message = Add partition)&#010; AddKafkaData(topics = Set(stress1, stress3, stress5, stress8), data = Range 36 until 43, message = Delete topic stress4)&#010; AddKafkaData(topics = Set(stress1, stress3, stress5, stress8), data = Range 43 until 50, message = )&#010; AddKafkaData(topics = Set(stress1, stress3, stress5, stress8), data = Range 50 until 54, message = )&#010; CheckAnswer: [1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12],[13],[14],[15],[16],[17],[18],[19],[20],[21],[22],[23],[24],[25],[26],[27],[28],[29],[30],[31],[32],[33],[34],[35],[36],[37],[38],[39],[40],[41],[42],[43],[44],[45],[46],[47],[48],[49],[50],[51],[52],[53],[54]&#010; AddKafkaData(topics = Set(stress1, stress3, stress5), data = Range 54 until 57, message = Delete topic stress8)&#010; AddKafkaData(topics = Set(stress1, stress3, stress5), data = Range 57 until 65, message = Add partition)&#010; AddKafkaData(topics = Set(stress1, stress5), data = Range 65 until 72, message = Delete topic stress3)&#010; CheckAnswer: [1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12],[13],[14],[15],[16],[17],[18],[19],[20],[21],[22],[23],[24],[25],[26],[27],[28],[29],[30],[31],[32],[33],[34],[35],[36],[37],[38],[39],[40],[41],[42],[43],[44],[45],[46],[47],[48],[49],[50],[51],[52],[53],[54],[55],[56],[57],[58],[59],[60],[61],[62],[63],[64],[65],[66],[67],[68],[69],[70],[71],[72]&#010; StopStream&#010; StartStream(ProcessingTime(0),org.apache.spark.util.SystemClock@4ef8275f,Map(),null)&#010; CheckAnswer: [1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12],[13],[14],[15],[16],[17],[18],[19],[20],[21],[22],[23],[24],[25],[26],[27],[28],[29],[30],[31],[32],[33],[34],[35],[36],[37],[38],[39],[40],[41],[42],[43],[44],[45],[46],[47],[48],[49],[50],[51],[52],[53],[54],[55],[56],[57],[58],[59],[60],[61],[62],[63],[64],[65],[66],[67],[68],[69],[70],[71],[72]&#010; StopStream&#010; AddKafkaData(topics = Set(stress1, stress5), data = Range 72 until 77, message = )&#010; AddKafkaData(topics = Set(stress1, stress5), data = Range 77 until 78, message = )&#010; StartStream(ProcessingTime(0),org.apache.spark.util.SystemClock@5d0a225c,Map(),null)&#010; CheckAnswer: [1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12],[13],[14],[15],[16],[17],[18],[19],[20],[21],[22],[23],[24],[25],[26],[27],[28],[29],[30],[31],[32],[33],[34],[35],[36],[37],[38],[39],[40],[41],[42],[43],[44],[45],[46],[47],[48],[49],[50],[51],[52],[53],[54],[55],[56],[57],[58],[59],[60],[61],[62],[63],[64],[65],[66],[67],[68],[69],[70],[71],[72],[73],[74],[75],[76],[77],[78]&#010; AddKafkaData(topics = Set(stress1, stress5), data = Range 78 until 84, message = )&#010; CheckAnswer: [1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12],[13],[14],[15],[16],[17],[18],[19],[20],[21],[22],[23],[24],[25],[26],[27],[28],[29],[30],[31],[32],[33],[34],[35],[36],[37],[38],[39],[40],[41],[42],[43],[44],[45],[46],[47],[48],[49],[50],[51],[52],[53],[54],[55],[56],[57],[58],[59],[60],[61],[62],[63],[64],[65],[66],[67],[68],[69],[70],[71],[72],[73],[74],[75],[76],[77],[78],[79],[80],[81],[82],[83],[84]&#010; StopStream&#010; StartStream(ProcessingTime(0),org.apache.spark.util.SystemClock@952f856,Map(),null)&#010; AddKafkaData(topics = Set(stress1, stress5, stress10), data = Range 84 until 85, message = Add topic stress11)&#010; AddKafkaData(topics = Set(stress1, stress5, stress10), data = Range 85 until 87, message = )&#010; CheckAnswer: [1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12],[13],[14],[15],[16],[17],[18],[19],[20],[21],[22],[23],[24],[25],[26],[27],[28],[29],[30],[31],[32],[33],[34],[35],[36],[37],[38],[39],[40],[41],[42],[43],[44],[45],[46],[47],[48],[49],[50],[51],[52],[53],[54],[55],[56],[57],[58],[59],[60],[61],[62],[63],[64],[65],[66],[67],[68],[69],[70],[71],[72],[73],[74],[75],[76],[77],[78],[79],[80],[81],[82],[83],[84],[85],[86],[87]&#010; StopStream&#010; AddKafkaData(topics = Set(stress1, stress5, stress10), data = Range 87 until 90, message = )&#010; AddKafkaData(topics = Set(stress1, stress5, stress10), data = Range 90 until 94, message = Add partition)&#010; StartStream(ProcessingTime(0),org.apache.spark.util.SystemClock@6c2785a8,Map(),null)&#010; AddKafkaData(topics = Set(stress1, stress5, stress10), data = Range 94 until 103, message = )&#010; AddKafkaData(topics = Set(stress1, stress5, stress10), data = Range 103 until 106, message = )&#010; AddKafkaData(topics = Set(stress1, stress10), data = Range 106 until 111, message = Delete topic stress5)&#010; CheckAnswer: [1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12],[13],[14],[15],[16],[17],[18],[19],[20],[21],[22],[23],[24],[25],[26],[27],[28],[29],[30],[31],[32],[33],[34],[35],[36],[37],[38],[39],[40],[41],[42],[43],[44],[45],[46],[47],[48],[49],[50],[51],[52],[53],[54],[55],[56],[57],[58],[59],[60],[61],[62],[63],[64],[65],[66],[67],[68],[69],[70],[71],[72],[73],[74],[75],[76],[77],[78],[79],[80],[81],[82],[83],[84],[85],[86],[87],[88],[89],[90],[91],[92],[93],[94],[95],[96],[97],[98],[99],[100],[101],[102],[103],[104],[105],[106],[107],[108],[109],[110],[111]&#010; StopStream&#010; AddKafkaData(topics = Set(stress1, stress10), data = Range 111 until 119, message = )&#010; AddKafkaData(topics = Set(stress1, stress10), data = Range 119 until 128, message = )&#010; StartStream(ProcessingTime(0),org.apache.spark.util.SystemClock@63ea95ac,Map(),null)&#010; CheckAnswer: [1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12],[13],[14],[15],[16],[17],[18],[19],[20],[21],[22],[23],[24],[25],[26],[27],[28],[29],[30],[31],[32],[33],[34],[35],[36],[37],[38],[39],[40],[41],[42],[43],[44],[45],[46],[47],[48],[49],[50],[51],[52],[53],[54],[55],[56],[57],[58],[59],[60],[61],[62],[63],[64],[65],[66],[67],[68],[69],[70],[71],[72],[73],[74],[75],[76],[77],[78],[79],[80],[81],[82],[83],[84],[85],[86],[87],[88],[89],[90],[91],[92],[93],[94],[95],[96],[97],[98],[99],[100],[101],[102],[103],[104],[105],[106],[107],[108],[109],[110],[111],[112],[113],[114],[115],[116],[117],[118],[119],[120],[121],[122],[123],[124],[125],[126],[127],[128]&#010; StopStream&#010; AddKafkaData(topics = Set(stress1, stress10), data = Range 128 until 137, message = )&#010; AddKafkaData(topics = Set(stress1, stress10), data = Range 137 until 140, message = )&#010; AddKafkaData(topics = Set(stress1, stress10, stress12), data = Range 140 until 145, message = Add topic stress13)&#010; AddKafkaData(topics = Set(stress1, stress10, stress12), data = Range 145 until 152, message = )&#010; StartStream(ProcessingTime(0),org.apache.spark.util.SystemClock@6ffe434f,Map(),null)&#010; CheckAnswer: [1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12],[13],[14],[15],[16],[17],[18],[19],[20],[21],[22],[23],[24],[25],[26],[27],[28],[29],[30],[31],[32],[33],[34],[35],[36],[37],[38],[39],[40],[41],[42],[43],[44],[45],[46],[47],[48],[49],[50],[51],[52],[53],[54],[55],[56],[57],[58],[59],[60],[61],[62],[63],[64],[65],[66],[67],[68],[69],[70],[71],[72],[73],[74],[75],[76],[77],[78],[79],[80],[81],[82],[83],[84],[85],[86],[87],[88],[89],[90],[91],[92],[93],[94],[95],[96],[97],[98],[99],[100],[101],[102],[103],[104],[105],[106],[107],[108],[109],[110],[111],[112],[113],[114],[115],[116],[117],[118],[119],[120],[121],[122],[123],[124],[125],[126],[127],[128],[129],[130],[131],[132],[133],[134],[135],[136],[137],[138],[139],[140],[141],[142],[143],[144],[145],[146],[147],[148],[149],[150],[151],[152]&#010;&#010;== Stream ==&#010;Output Mode: Append&#010;Stream state: {KafkaV2[SubscribePattern[stress.*]]: {"stress5":{"2":3,"5":0,"4":2,"1":2,"3":3,"6":0,"0":2},"stress8":{"2":0,"4":0,"1":0,"3":0,"0":0},"stress1":{"2":2,"1":3,"0":7},"stress4":{"2":3,"5":2,"4":1,"1":2,"3":2,"0":3},"stress3":{"2":2,"4":1,"1":3,"3":1,"0":2}}}&#010;Thread state: alive&#010;Thread stack trace: java.lang.Thread.sleep(Native Method)&#010;org.apache.spark.sql.execution.streaming.MicroBatchExecution.$anonfun$runActivatedStream$1(MicroBatchExecution.scala:230)&#010;org.apache.spark.sql.execution.streaming.MicroBatchExecution$$Lambda$2279/1665789396.apply$mcZ$sp(Unknown Source)&#010;org.apache.spark.sql.execution.streaming.ProcessingTimeExecutor.execute(TriggerExecutor.scala:56)&#010;org.apache.spark.sql.execution.streaming.MicroBatchExecution.runActivatedStream(MicroBatchExecution.scala:175)&#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: [3] [1] [2]&#010;2: [5] [6] [7] [4]&#010;3: &#010;4: &#010;5: [8]&#010;6: &#010;7: [10] [11]&#010;8: [12] [13]&#010;9: [16] [19] [14] [17] [20] [15] [18]&#010;10: [23] [26] [25] [21] [27] [24] [22]&#010;&#010;&#010;== Plan ==&#010;== Parsed Logical Plan ==&#010;WriteToDataSourceV2 org.apache.spark.sql.execution.streaming.sources.MicroBatchWrite@f823337&#010;+- SerializeFromObject [input[0, int, false] AS value#14718]&#010; +- MapElements org.apache.spark.sql.kafka010.KafkaSourceStressSuite$$Lambda$5799/162360875@3219307b, class scala.Tuple2, [StructField(_1,StringType,true), StructField(_2,StringType,true)], obj#14717: int&#010; +- DeserializeToObject newInstance(class scala.Tuple2), obj#14716: scala.Tuple2&#010; +- Project [cast(key#14692 as string) AS key#14706, cast(value#14693 as string) AS value#14707]&#010; +- StreamingDataSourceV2Relation [key#14692, value#14693, topic#14694, partition#14695, offset#14696L, timestamp#14697, timestampType#14698], org.apache.spark.sql.kafka010.KafkaSourceProvider$KafkaScan@42b9a351, KafkaV2[SubscribePattern[stress.*]], {"stress5":{"2":3,"5":0,"4":2,"1":2,"3":3,"6":0,"0":2},"stress1":{"2":2,"1":3,"0":7},"stress4":{"2":2,"5":0,"4":0,"1":1,"3":1,"0":2},"stress3":{"2":2,"4":1,"1":3,"3":1,"0":2}}, {"stress5":{"2":3,"5":0,"4":2,"1":2,"3":3,"6":0,"0":2},"stress8":{"2":0,"4":0,"1":0,"3":0,"0":0},"stress1":{"2":2,"1":3,"0":7},"stress4":{"2":3,"5":2,"4":1,"1":2,"3":2,"0":3},"stress3":{"2":2,"4":1,"1":3,"3":1,"0":2}}&#010;&#010;== Analyzed Logical Plan ==&#010;&#010;WriteToDataSourceV2 org.apache.spark.sql.execution.streaming.sources.MicroBatchWrite@f823337&#010;+- SerializeFromObject [input[0, int, false] AS value#14718]&#010; +- MapElements org.apache.spark.sql.kafka010.KafkaSourceStressSuite$$Lambda$5799/162360875@3219307b, class scala.Tuple2, [StructField(_1,StringType,true), StructField(_2,StringType,true)], obj#14717: int&#010; +- DeserializeToObject newInstance(class scala.Tuple2), obj#14716: scala.Tuple2&#010; +- Project [cast(key#14692 as string) AS key#14706, cast(value#14693 as string) AS value#14707]&#010; +- StreamingDataSourceV2Relation [key#14692, value#14693, topic#14694, partition#14695, offset#14696L, timestamp#14697, timestampType#14698], org.apache.spark.sql.kafka010.KafkaSourceProvider$KafkaScan@42b9a351, KafkaV2[SubscribePattern[stress.*]], {"stress5":{"2":3,"5":0,"4":2,"1":2,"3":3,"6":0,"0":2},"stress1":{"2":2,"1":3,"0":7},"stress4":{"2":2,"5":0,"4":0,"1":1,"3":1,"0":2},"stress3":{"2":2,"4":1,"1":3,"3":1,"0":2}}, {"stress5":{"2":3,"5":0,"4":2,"1":2,"3":3,"6":0,"0":2},"stress8":{"2":0,"4":0,"1":0,"3":0,"0":0},"stress1":{"2":2,"1":3,"0":7},"stress4":{"2":3,"5":2,"4":1,"1":2,"3":2,"0":3},"stress3":{"2":2,"4":1,"1":3,"3":1,"0":2}}&#010;&#010;== Optimized Logical Plan ==&#010;WriteToDataSourceV2 org.apache.spark.sql.execution.streaming.sources.MicroBatchWrite@f823337&#010;+- SerializeFromObject [input[0, int, false] AS value#14718]&#010; +- MapElements org.apache.spark.sql.kafka010.KafkaSourceStressSuite$$Lambda$5799/162360875@3219307b, class scala.Tuple2, [StructField(_1,StringType,true), StructField(_2,StringType,true)], obj#14717: int&#010; +- DeserializeToObject newInstance(class scala.Tuple2), obj#14716: scala.Tuple2&#010; +- Project [cast(key#14692 as string) AS key#14706, cast(value#14693 as string) AS value#14707]&#010; +- StreamingDataSourceV2Relation [key#14692, value#14693, topic#14694, partition#14695, offset#14696L, timestamp#14697, timestampType#14698], org.apache.spark.sql.kafka010.KafkaSourceProvider$KafkaScan@42b9a351, KafkaV2[SubscribePattern[stress.*]], {"stress5":{"2":3,"5":0,"4":2,"1":2,"3":3,"6":0,"0":2},"stress1":{"2":2,"1":3,"0":7},"stress4":{"2":2,"5":0,"4":0,"1":1,"3":1,"0":2},"stress3":{"2":2,"4":1,"1":3,"3":1,"0":2}}, {"stress5":{"2":3,"5":0,"4":2,"1":2,"3":3,"6":0,"0":2},"stress8":{"2":0,"4":0,"1":0,"3":0,"0":0},"stress1":{"2":2,"1":3,"0":7},"stress4":{"2":3,"5":2,"4":1,"1":2,"3":2,"0":3},"stress3":{"2":2,"4":1,"1":3,"3":1,"0":2}}&#010;&#010;== Physical Plan ==&#010;WriteToDataSourceV2 org.apache.spark.sql.execution.streaming.sources.MicroBatchWrite@f823337&#010;+- *(1) SerializeFromObject [input[0, int, false] AS value#14718]&#010; +- *(1) MapElements org.apache.spark.sql.kafka010.KafkaSourceStressSuite$$Lambda$5799/162360875@3219307b, obj#14717: int&#010; +- *(1) DeserializeToObject newInstance(class scala.Tuple2), obj#14716: scala.Tuple2&#010; +- *(1) Project [cast(key#14692 as string) AS key#14706, cast(value#14693 as string) AS value#14707]&#010; +- *(1) Project [key#14692, value#14693, topic#14694, partition#14695, offset#14696L, timestamp#14697, timestampType#14698]&#010; +- *(1) MicroBatchScan[key#14692, value#14693, topic#14694, partition#14695, offset#14696L, timestamp#14697, timestampType#14698] class org.apache.spark.sql.kafka010.KafkaSourceProvider$KafkaScan&#010;&#010; &#010;


      org.scalatest.exceptions.TestFailedException: 

== Results ==
!== Correct Answer - 27 ==   == Spark Answer - 26 ==
 struct<value:int>           struct<value:int>
 [10]                        [10]
 [11]                        [11]
 [12]                        [12]
 [13]                        [13]
 [14]                        [14]
 [15]                        [15]
 [16]                        [16]
 [17]                        [17]
 [18]                        [18]
 [19]                        [19]
 [1]                         [1]
 [20]                        [20]
 [21]                        [21]
 [22]                        [22]
 [23]                        [23]
 [24]                        [24]
 [25]                        [25]
 [26]                        [26]
 [27]                        [27]
 [2]                         [2]
 [3]                         [3]
 [4]                         [4]
 [5]                         [5]
 [6]                         [6]
 [7]                         [7]
 [8]                         [8]
![9]                         
    

== Progress ==
   AssertOnQuery(<condition>, )
   AddKafkaData(topics = Set(stress4, stress2, stress1, stress5, stress3), data = Range 0 until 7, message = )
   CheckAnswer: [1],[2],[3],[4],[5],[6],[7]
   AddKafkaData(topics = Set(stress1, stress3, stress4, stress5), data = empty Range 7 until 7, message = Delete topic stress2)
   AddKafkaData(topics = Set(stress1, stress3, stress4, stress5), data = Range 7 until 8, message = Add partition)
   AddKafkaData(topics = Set(stress1, stress3, stress4, stress5), data = empty Range 8 until 8, message = Delete topic stress1)
   AddKafkaData(topics = Set(stress4, stress6, stress1, stress5, stress3), data = Range 8 until 9, message = Add topic stress7)
   AddKafkaData(topics = Set(stress1, stress3, stress4, stress5), data = Range 9 until 13, message = Delete topic stress6)
   AddKafkaData(topics = Set(stress4, stress8, stress1, stress5, stress3), data = Range 13 until 20, message = Add topic stress9)
   AddKafkaData(topics = Set(stress4, stress8, stress1, stress5, stress3), data = Range 20 until 27, message = )
   AddKafkaData(topics = Set(stress4, stress8, stress1, stress5, stress3), data = empty Range 27 until 27, message = )
=> CheckAnswer: [1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12],[13],[14],[15],[16],[17],[18],[19],[20],[21],[22],[23],[24],[25],[26],[27]
   StopStream
   AddKafkaData(topics = Set(stress4, stress8, stress1, stress5, stress3), data = Range 27 until 31, message = )
   StartStream(ProcessingTime(0),org.apache.spark.util.SystemClock@6871bc28,Map(),null)
   CheckAnswer: [1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12],[13],[14],[15],[16],[17],[18],[19],[20],[21],[22],[23],[24],[25],[26],[27],[28],[29],[30],[31]
   AddKafkaData(topics = Set(stress4, stress8, stress1, stress5, stress3), data = Range 31 until 36, message = Add partition)
   AddKafkaData(topics = Set(stress1, stress3, stress5, stress8), data = Range 36 until 43, message = Delete topic stress4)
   AddKafkaData(topics = Set(stress1, stress3, stress5, stress8), data = Range 43 until 50, message = )
   AddKafkaData(topics = Set(stress1, stress3, stress5, stress8), data = Range 50 until 54, message = )
   CheckAnswer: [1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12],[13],[14],[15],[16],[17],[18],[19],[20],[21],[22],[23],[24],[25],[26],[27],[28],[29],[30],[31],[32],[33],[34],[35],[36],[37],[38],[39],[40],[41],[42],[43],[44],[45],[46],[47],[48],[49],[50],[51],[52],[53],[54]
   AddKafkaData(topics = Set(stress1, stress3, stress5), data = Range 54 until 57, message = Delete topic stress8)
   AddKafkaData(topics = Set(stress1, stress3, stress5), data = Range 57 until 65, message = Add partition)
   AddKafkaData(topics = Set(stress1, stress5), data = Range 65 until 72, message = Delete topic stress3)
   CheckAnswer: [1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12],[13],[14],[15],[16],[17],[18],[19],[20],[21],[22],[23],[24],[25],[26],[27],[28],[29],[30],[31],[32],[33],[34],[35],[36],[37],[38],[39],[40],[41],[42],[43],[44],[45],[46],[47],[48],[49],[50],[51],[52],[53],[54],[55],[56],[57],[58],[59],[60],[61],[62],[63],[64],[65],[66],[67],[68],[69],[70],[71],[72]
   StopStream
   StartStream(ProcessingTime(0),org.apache.spark.util.SystemClock@4ef8275f,Map(),null)
   CheckAnswer: [1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12],[13],[14],[15],[16],[17],[18],[19],[20],[21],[22],[23],[24],[25],[26],[27],[28],[29],[30],[31],[32],[33],[34],[35],[36],[37],[38],[39],[40],[41],[42],[43],[44],[45],[46],[47],[48],[49],[50],[51],[52],[53],[54],[55],[56],[57],[58],[59],[60],[61],[62],[63],[64],[65],[66],[67],[68],[69],[70],[71],[72]
   StopStream
   AddKafkaData(topics = Set(stress1, stress5), data = Range 72 until 77, message = )
   AddKafkaData(topics = Set(stress1, stress5), data = Range 77 until 78, message = )
   StartStream(ProcessingTime(0),org.apache.spark.util.SystemClock@5d0a225c,Map(),null)
   CheckAnswer: [1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12],[13],[14],[15],[16],[17],[18],[19],[20],[21],[22],[23],[24],[25],[26],[27],[28],[29],[30],[31],[32],[33],[34],[35],[36],[37],[38],[39],[40],[41],[42],[43],[44],[45],[46],[47],[48],[49],[50],[51],[52],[53],[54],[55],[56],[57],[58],[59],[60],[61],[62],[63],[64],[65],[66],[67],[68],[69],[70],[71],[72],[73],[74],[75],[76],[77],[78]
   AddKafkaData(topics = Set(stress1, stress5), data = Range 78 until 84, message = )
   CheckAnswer: [1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12],[13],[14],[15],[16],[17],[18],[19],[20],[21],[22],[23],[24],[25],[26],[27],[28],[29],[30],[31],[32],[33],[34],[35],[36],[37],[38],[39],[40],[41],[42],[43],[44],[45],[46],[47],[48],[49],[50],[51],[52],[53],[54],[55],[56],[57],[58],[59],[60],[61],[62],[63],[64],[65],[66],[67],[68],[69],[70],[71],[72],[73],[74],[75],[76],[77],[78],[79],[80],[81],[82],[83],[84]
   StopStream
   StartStream(ProcessingTime(0),org.apache.spark.util.SystemClock@952f856,Map(),null)
   AddKafkaData(topics = Set(stress1, stress5, stress10), data = Range 84 until 85, message = Add topic stress11)
   AddKafkaData(topics = Set(stress1, stress5, stress10), data = Range 85 until 87, message = )
   CheckAnswer: [1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12],[13],[14],[15],[16],[17],[18],[19],[20],[21],[22],[23],[24],[25],[26],[27],[28],[29],[30],[31],[32],[33],[34],[35],[36],[37],[38],[39],[40],[41],[42],[43],[44],[45],[46],[47],[48],[49],[50],[51],[52],[53],[54],[55],[56],[57],[58],[59],[60],[61],[62],[63],[64],[65],[66],[67],[68],[69],[70],[71],[72],[73],[74],[75],[76],[77],[78],[79],[80],[81],[82],[83],[84],[85],[86],[87]
   StopStream
   AddKafkaData(topics = Set(stress1, stress5, stress10), data = Range 87 until 90, message = )
   AddKafkaData(topics = Set(stress1, stress5, stress10), data = Range 90 until 94, message = Add partition)
   StartStream(ProcessingTime(0),org.apache.spark.util.SystemClock@6c2785a8,Map(),null)
   AddKafkaData(topics = Set(stress1, stress5, stress10), data = Range 94 until 103, message = )
   AddKafkaData(topics = Set(stress1, stress5, stress10), data = Range 103 until 106, message = )
   AddKafkaData(topics = Set(stress1, stress10), data = Range 106 until 111, message = Delete topic stress5)
   CheckAnswer: [1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12],[13],[14],[15],[16],[17],[18],[19],[20],[21],[22],[23],[24],[25],[26],[27],[28],[29],[30],[31],[32],[33],[34],[35],[36],[37],[38],[39],[40],[41],[42],[43],[44],[45],[46],[47],[48],[49],[50],[51],[52],[53],[54],[55],[56],[57],[58],[59],[60],[61],[62],[63],[64],[65],[66],[67],[68],[69],[70],[71],[72],[73],[74],[75],[76],[77],[78],[79],[80],[81],[82],[83],[84],[85],[86],[87],[88],[89],[90],[91],[92],[93],[94],[95],[96],[97],[98],[99],[100],[101],[102],[103],[104],[105],[106],[107],[108],[109],[110],[111]
   StopStream
   AddKafkaData(topics = Set(stress1, stress10), data = Range 111 until 119, message = )
   AddKafkaData(topics = Set(stress1, stress10), data = Range 119 until 128, message = )
   StartStream(ProcessingTime(0),org.apache.spark.util.SystemClock@63ea95ac,Map(),null)
   CheckAnswer: [1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12],[13],[14],[15],[16],[17],[18],[19],[20],[21],[22],[23],[24],[25],[26],[27],[28],[29],[30],[31],[32],[33],[34],[35],[36],[37],[38],[39],[40],[41],[42],[43],[44],[45],[46],[47],[48],[49],[50],[51],[52],[53],[54],[55],[56],[57],[58],[59],[60],[61],[62],[63],[64],[65],[66],[67],[68],[69],[70],[71],[72],[73],[74],[75],[76],[77],[78],[79],[80],[81],[82],[83],[84],[85],[86],[87],[88],[89],[90],[91],[92],[93],[94],[95],[96],[97],[98],[99],[100],[101],[102],[103],[104],[105],[106],[107],[108],[109],[110],[111],[112],[113],[114],[115],[116],[117],[118],[119],[120],[121],[122],[123],[124],[125],[126],[127],[128]
   StopStream
   AddKafkaData(topics = Set(stress1, stress10), data = Range 128 until 137, message = )
   AddKafkaData(topics = Set(stress1, stress10), data = Range 137 until 140, message = )
   AddKafkaData(topics = Set(stress1, stress10, stress12), data = Range 140 until 145, message = Add topic stress13)
   AddKafkaData(topics = Set(stress1, stress10, stress12), data = Range 145 until 152, message = )
   StartStream(ProcessingTime(0),org.apache.spark.util.SystemClock@6ffe434f,Map(),null)
   CheckAnswer: [1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12],[13],[14],[15],[16],[17],[18],[19],[20],[21],[22],[23],[24],[25],[26],[27],[28],[29],[30],[31],[32],[33],[34],[35],[36],[37],[38],[39],[40],[41],[42],[43],[44],[45],[46],[47],[48],[49],[50],[51],[52],[53],[54],[55],[56],[57],[58],[59],[60],[61],[62],[63],[64],[65],[66],[67],[68],[69],[70],[71],[72],[73],[74],[75],[76],[77],[78],[79],[80],[81],[82],[83],[84],[85],[86],[87],[88],[89],[90],[91],[92],[93],[94],[95],[96],[97],[98],[99],[100],[101],[102],[103],[104],[105],[106],[107],[108],[109],[110],[111],[112],[113],[114],[115],[116],[117],[118],[119],[120],[121],[122],[123],[124],[125],[126],[127],[128],[129],[130],[131],[132],[133],[134],[135],[136],[137],[138],[139],[140],[141],[142],[143],[144],[145],[146],[147],[148],[149],[150],[151],[152]

== Stream ==
Output Mode: Append
Stream state: {KafkaV2[SubscribePattern[stress.*]]: {"stress5":{"2":3,"5":0,"4":2,"1":2,"3":3,"6":0,"0":2},"stress8":{"2":0,"4":0,"1":0,"3":0,"0":0},"stress1":{"2":2,"1":3,"0":7},"stress4":{"2":3,"5":2,"4":1,"1":2,"3":2,"0":3},"stress3":{"2":2,"4":1,"1":3,"3":1,"0":2}}}
Thread state: alive
Thread stack trace: java.lang.Thread.sleep(Native Method)
org.apache.spark.sql.execution.streaming.MicroBatchExecution.$anonfun$runActivatedStream$1(MicroBatchExecution.scala:230)
org.apache.spark.sql.execution.streaming.MicroBatchExecution$$Lambda$2279/1665789396.apply$mcZ$sp(Unknown Source)
org.apache.spark.sql.execution.streaming.ProcessingTimeExecutor.execute(TriggerExecutor.scala:56)
org.apache.spark.sql.execution.streaming.MicroBatchExecution.runActivatedStream(MicroBatchExecution.scala:175)
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: [3] [1] [2]
2: [5] [6] [7] [4]
3: 
4: 
5: [8]
6: 
7: [10] [11]
8: [12] [13]
9: [16] [19] [14] [17] [20] [15] [18]
10: [23] [26] [25] [21] [27] [24] [22]


== Plan ==
== Parsed Logical Plan ==
WriteToDataSourceV2 org.apache.spark.sql.execution.streaming.sources.MicroBatchWrite@f823337
+- SerializeFromObject [input[0, int, false] AS value#14718]
   +- MapElements org.apache.spark.sql.kafka010.KafkaSourceStressSuite$$Lambda$5799/162360875@3219307b, class scala.Tuple2, [StructField(_1,StringType,true), StructField(_2,StringType,true)], obj#14717: int
      +- DeserializeToObject newInstance(class scala.Tuple2), obj#14716: scala.Tuple2
         +- Project [cast(key#14692 as string) AS key#14706, cast(value#14693 as string) AS value#14707]
            +- StreamingDataSourceV2Relation [key#14692, value#14693, topic#14694, partition#14695, offset#14696L, timestamp#14697, timestampType#14698], org.apache.spark.sql.kafka010.KafkaSourceProvider$KafkaScan@42b9a351, KafkaV2[SubscribePattern[stress.*]], {"stress5":{"2":3,"5":0,"4":2,"1":2,"3":3,"6":0,"0":2},"stress1":{"2":2,"1":3,"0":7},"stress4":{"2":2,"5":0,"4":0,"1":1,"3":1,"0":2},"stress3":{"2":2,"4":1,"1":3,"3":1,"0":2}}, {"stress5":{"2":3,"5":0,"4":2,"1":2,"3":3,"6":0,"0":2},"stress8":{"2":0,"4":0,"1":0,"3":0,"0":0},"stress1":{"2":2,"1":3,"0":7},"stress4":{"2":3,"5":2,"4":1,"1":2,"3":2,"0":3},"stress3":{"2":2,"4":1,"1":3,"3":1,"0":2}}

== Analyzed Logical Plan ==

WriteToDataSourceV2 org.apache.spark.sql.execution.streaming.sources.MicroBatchWrite@f823337
+- SerializeFromObject [input[0, int, false] AS value#14718]
   +- MapElements org.apache.spark.sql.kafka010.KafkaSourceStressSuite$$Lambda$5799/162360875@3219307b, class scala.Tuple2, [StructField(_1,StringType,true), StructField(_2,StringType,true)], obj#14717: int
      +- DeserializeToObject newInstance(class scala.Tuple2), obj#14716: scala.Tuple2
         +- Project [cast(key#14692 as string) AS key#14706, cast(value#14693 as string) AS value#14707]
            +- StreamingDataSourceV2Relation [key#14692, value#14693, topic#14694, partition#14695, offset#14696L, timestamp#14697, timestampType#14698], org.apache.spark.sql.kafka010.KafkaSourceProvider$KafkaScan@42b9a351, KafkaV2[SubscribePattern[stress.*]], {"stress5":{"2":3,"5":0,"4":2,"1":2,"3":3,"6":0,"0":2},"stress1":{"2":2,"1":3,"0":7},"stress4":{"2":2,"5":0,"4":0,"1":1,"3":1,"0":2},"stress3":{"2":2,"4":1,"1":3,"3":1,"0":2}}, {"stress5":{"2":3,"5":0,"4":2,"1":2,"3":3,"6":0,"0":2},"stress8":{"2":0,"4":0,"1":0,"3":0,"0":0},"stress1":{"2":2,"1":3,"0":7},"stress4":{"2":3,"5":2,"4":1,"1":2,"3":2,"0":3},"stress3":{"2":2,"4":1,"1":3,"3":1,"0":2}}

== Optimized Logical Plan ==
WriteToDataSourceV2 org.apache.spark.sql.execution.streaming.sources.MicroBatchWrite@f823337
+- SerializeFromObject [input[0, int, false] AS value#14718]
   +- MapElements org.apache.spark.sql.kafka010.KafkaSourceStressSuite$$Lambda$5799/162360875@3219307b, class scala.Tuple2, [StructField(_1,StringType,true), StructField(_2,StringType,true)], obj#14717: int
      +- DeserializeToObject newInstance(class scala.Tuple2), obj#14716: scala.Tuple2
         +- Project [cast(key#14692 as string) AS key#14706, cast(value#14693 as string) AS value#14707]
            +- StreamingDataSourceV2Relation [key#14692, value#14693, topic#14694, partition#14695, offset#14696L, timestamp#14697, timestampType#14698], org.apache.spark.sql.kafka010.KafkaSourceProvider$KafkaScan@42b9a351, KafkaV2[SubscribePattern[stress.*]], {"stress5":{"2":3,"5":0,"4":2,"1":2,"3":3,"6":0,"0":2},"stress1":{"2":2,"1":3,"0":7},"stress4":{"2":2,"5":0,"4":0,"1":1,"3":1,"0":2},"stress3":{"2":2,"4":1,"1":3,"3":1,"0":2}}, {"stress5":{"2":3,"5":0,"4":2,"1":2,"3":3,"6":0,"0":2},"stress8":{"2":0,"4":0,"1":0,"3":0,"0":0},"stress1":{"2":2,"1":3,"0":7},"stress4":{"2":3,"5":2,"4":1,"1":2,"3":2,"0":3},"stress3":{"2":2,"4":1,"1":3,"3":1,"0":2}}

== Physical Plan ==
WriteToDataSourceV2 org.apache.spark.sql.execution.streaming.sources.MicroBatchWrite@f823337
+- *(1) SerializeFromObject [input[0, int, false] AS value#14718]
   +- *(1) MapElements org.apache.spark.sql.kafka010.KafkaSourceStressSuite$$Lambda$5799/162360875@3219307b, obj#14717: int
      +- *(1) DeserializeToObject newInstance(class scala.Tuple2), obj#14716: scala.Tuple2
         +- *(1) Project [cast(key#14692 as string) AS key#14706, cast(value#14693 as string) AS value#14707]
            +- *(1) Project [key#14692, value#14693, topic#14694, partition#14695, offset#14696L, timestamp#14697, timestampType#14698]
               +- *(1) MicroBatchScan[key#14692, value#14693, topic#14694, partition#14695, offset#14696L, timestamp#14697, timestampType#14698] 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.$anonfun$testStream$53(StreamTest.scala:725)
      at scala.Option.foreach(Option.scala:274)
      at org.apache.spark.sql.streaming.StreamTest.executeAction$1(StreamTest.scala:725)
      at org.apache.spark.sql.streaming.StreamTest.$anonfun$testStream$56(StreamTest.scala:770)
      at org.apache.spark.sql.streaming.StreamTest.$anonfun$testStream$56$adapted(StreamTest.scala:757)
      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:757)
      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.streaming.StreamTest.runStressTest(StreamTest.scala:868)
      at org.apache.spark.sql.streaming.StreamTest.runStressTest$(StreamTest.scala:820)
      at org.apache.spark.sql.kafka010.KafkaSourceTest.runStressTest(KafkaMicroBatchSourceSuite.scala:50)
      at org.apache.spark.sql.kafka010.KafkaSourceStressSuite.$anonfun$new$137(KafkaMicroBatchSourceSuite.scala:1652)
      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)