Github user vanzin commented on the issue:

    https://github.com/apache/spark/pull/18004
  
    > Honestly, your last comment is so unfair.
    
    Wait, which comment? I pointed out places where you current design has 
limitations. I'm asking for a way to make it easy to create asynchronous 
listeners, because that makes it easy to solve important problems (like 
separating user listeners from others, or singling out very sensitive listeners 
like the dynamic allocation one that would benefit from being on its own 
separate thread).
    
    I mentioned the UI listeners because you mentioned that "the existing 
listeners behave well" when that's not true. Yeah I'm changing them in some 
separate stuff I'm working on, but that doesn't mean the code I'm adding 
magically solves all issues. I'd still like to have certain listeners not be 
affected by some other listener suddenly running into a slow path.
    
    And the very last comment I made is still true. I've actually looked at 
your code and it does have issue (I noticed at least one race after a very 
quick look). But I'm trying to focus on the architecture first before doing a 
thorough code review.
    
    > For extracting a basic block... I do not see how to do that in a easy and 
useful way
    
    Define the features you want and create an abstract class that implements 
that. So far I've seen you mention (i) process events in a separate thread and 
(ii) be able to filter which events get queued in that separate thread. Start 
from there.
    
    Or, basically, instead of extending the event logging listener, create a 
base class for the new functionality you want, and make the existing listener 
extend that class. a.k.a. the opposite of what you're doing.


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