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

    https://github.com/apache/carbondata/pull/1821#discussion_r162052102
  
    --- Diff: 
core/src/main/java/org/apache/carbondata/events/OperationListenerBus.java ---
    @@ -57,9 +57,9 @@ public OperationListenerBus addListener(Class<? extends 
Event> eventClass,
           OperationEventListener operationEventListener) {
     
         String eventType = eventClass.getName();
    -    List<OperationEventListener> operationEventListeners = 
eventMap.get(eventType);
    +    Set<OperationEventListener> operationEventListeners = 
eventMap.get(eventType);
         if (null == operationEventListeners) {
    -      operationEventListeners = new CopyOnWriteArrayList<>();
    +      operationEventListeners = new CopyOnWriteArraySet<>();
    --- End diff --
    
    1) Changed the code to use addIfAbsent method instead of add. This will 
take care of dublicate entries.
    2) changed the OperationEventListener interface to abstract class with 
equals and hashcode which will compare the class name.


---

Reply via email to