Bug 3962: Event dispatcher found no handler for NorthboundEvent (part 1) 33/23933/1
authorFlavio Fernandes <ffernand@redhat.com>
Wed, 8 Jul 2015 16:12:05 +0000 (12:12 -0400)
committerSam Hague <shague@redhat.com>
Thu, 9 Jul 2015 00:32:06 +0000 (00:32 +0000)
We cannot reproduce this locally, so this commit adds some better logs
to inform what handlers have this issue.

Patch set 2: code review.
Patch set 3: remove redundant param on the non-error path: ref.

Change-Id: I394984cf41f7e310919efdb7c4bbf394ba1fa89d
Signed-off-by: Flavio Fernandes <ffernand@redhat.com>
(cherry picked from commit 0b6e3a67980f9e30ba9cf07ddd0fd2d1c6664e1f)

openstack/net-virt/src/main/java/org/opendaylight/ovsdb/openstack/netvirt/NorthboundEvent.java
openstack/net-virt/src/main/java/org/opendaylight/ovsdb/openstack/netvirt/impl/EventDispatcherImpl.java

index 7c0ac23840a75ae448dc490677a9cef128a56b3d..542d665e7b7f66ee6f4a9017e69acbad5ebdacaf 100644 (file)
@@ -109,7 +109,8 @@ public class NorthboundEvent extends AbstractEvent {
 
     @Override
     public String toString() {
-        return "NorthboundEvent [action=" + super.getAction()
+        return "NorthboundEvent [handler=" + super.getHandlerType()
+               + ", action=" + super.getAction()
                + ", port=" + port
                + ", subnet=" + subnet
                + ", router=" + router
index d9a1f8daaacfc6a0c9eb7301be7f0af53cc7acee..d50046c77337180ed6743717d6f9b9b8e48f0312 100644 (file)
@@ -100,13 +100,14 @@ public class EventDispatcherImpl implements EventDispatcher, ConfigInterface {
         Long pid = (Long) ref.getProperty(org.osgi.framework.Constants.SERVICE_ID);
         Object handlerTypeObject = ref.getProperty(Constants.EVENT_HANDLER_TYPE_PROPERTY);
         if (!(handlerTypeObject instanceof AbstractEvent.HandlerType)){
-            logger.error("Abstract handler reg failed to provide a valid handler type {}", handlerTypeObject);
+            logger.error("Abstract handler reg failed to provide a valid handler type: {} ref: {} handler: {}",
+                    handlerTypeObject, ref.getClass().getName(), handler.getClass().getName());
             return;
         }
         AbstractEvent.HandlerType handlerType = (AbstractEvent.HandlerType) handlerTypeObject;
         handlers[handlerType.ordinal()] = handler;
-        logger.debug("Event handler for type {} registered for {}, pid {}",
-                     handlerType, handler.getClass().getName(), pid);
+        logger.info("eventHandlerAdded: handler: {}, pid: {}, type: {}",
+                handler.getClass().getName(), pid, handlerType);
     }
 
     public void eventHandlerRemoved(final ServiceReference ref){