Github user andrewor14 commented on a diff in the pull request:
https://github.com/apache/spark/pull/10779#discussion_r50160152
--- Diff:
streaming/src/main/scala/org/apache/spark/streaming/scheduler/StreamingListenerForwardingBus.scala
---
@@ -17,17 +17,38 @@
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
+/**
+ * Wrap StreamingListenerEvent as SparkListenerEvent so that it can be
posted to Spark listener bus.
+ */
+private[streaming] case class WrappedStreamingListenerEvent(
+ streamingListenerEvent: StreamingListenerEvent) extends
SparkListenerEvent {
+
+ // TODO once SPARK-12140 is resolved this will be true as well
+ protected[spark] override def logEvent: Boolean = false
+}
-/** Asynchronously passes StreamingListenerEvents to registered
StreamingListeners. */
-private[spark] class StreamingListenerBus
- extends AsynchronousListenerBus[StreamingListener,
StreamingListenerEvent]("StreamingListenerBus")
- with Logging {
+/**
+ * A Streaming listener bus to forward events in
WrappedStreamingListenerEvent to StreamingListeners
+ */
+private[streaming] class StreamingListenerForwardingBus(sparkListenerBus:
LiveListenerBus)
--- End diff --
Can we please call this `StreamingListenerBus`? It really *is* a listener
bus from the perspective of streaming, right? The streaming scheduler has a
reference to the bus and posts events to it. Listeners register to the bus and
receive events from it. I think `*Manager` has been kind of like a catch-all
default name for things we don't know what to call, like `BlockManager` or
`ConnectionManager`.
In this case it's literally just a bus whose details are hidden from the
caller.
---
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]