Github user tdas commented on a diff in the pull request:

    https://github.com/apache/spark/pull/10779#discussion_r50174582
  
    --- Diff: 
streaming/src/main/scala/org/apache/spark/streaming/scheduler/StreamingListenerBus.scala
 ---
    @@ -17,17 +17,28 @@
     
     package org.apache.spark.streaming.scheduler
     
    -import java.util.concurrent.atomic.AtomicBoolean
    +import org.apache.spark.scheduler.{LiveListenerBus, SparkListener, 
SparkListenerEvent}
    +import org.apache.spark.util.ListenerBus
     
    -import org.apache.spark.Logging
    -import org.apache.spark.util.AsynchronousListenerBus
    +/**
    + * A Streaming listener bus to forward events in 
WrappedStreamingListenerEvent to StreamingListeners
    + */
    +private[streaming] class StreamingListenerBus(sparkListenerBus: 
LiveListenerBus)
    +  extends SparkListener with ListenerBus[StreamingListener, 
StreamingListenerEvent] {
     
    -/** Asynchronously passes StreamingListenerEvents to registered 
StreamingListeners. */
    -private[spark] class StreamingListenerBus
    -  extends AsynchronousListenerBus[StreamingListener, 
StreamingListenerEvent]("StreamingListenerBus")
    -  with Logging {
    +  sparkListenerBus.addListener(this)    // for getting callbacks on spark 
events
     
    -  private val logDroppedEvent = new AtomicBoolean(false)
    +  def post(event: StreamingListenerEvent) {
    --- End diff --
    
    Shouldnt there be a way to remove `this` when the StreamingContext is 
shutdown. All the added StreamingListener are useless after the 
StreamingContext has been stopped. Otherwise if someone is starting and 
stopping StreamingContexts multiple times, all the previous listener will keep 
getting streaming events of the new one. 
    
    Please add a test for this to make sure that this does not happen. 


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to