Github user bOOm-X commented on the issue:

    https://github.com/apache/spark/pull/18253
  
    @cloud-fan 
    There are now multiple queues. Many threads send events to a dispatcher 
which copy the event in each queue. One thread per queue poll the events from 
its dedicated queue and call its attached listener(s).
    
    For listener bus there is now two pure traits. the first one 
WithListenerBus allow to add / remove listener (current behavior). By default 
all the current implementation implement this trait . Another trait 
WithMultipleListenerBus inherit from the previous one and add a method to add 
isolated listener. Only the LiveListenerBus and the ReplayListenerBus implement 
this trait. For the second one, it is just a synonym of the simple addListener 
method. All the UI listeners are added to both through this method as a group 
of listeners (they are inter-dependent).
    The StreamingListenerBus, the EventLoggingListener, the 
ExecutorAllocationManager are added to the LiveListenerBus (with this method) 
to a dedicated queue. The "extralisteners" are added to it as a group of 
listeners in a dedicated queue too. All other listeners are added to the 
"default" queue with the old method.


---
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