From 6799551aa1110d9c384fdd9e9525b9c3f8c6a9a7 Mon Sep 17 00:00:00 2001 From: zhangninglc Date: Wed, 7 Aug 2019 16:28:04 +0800 Subject: [PATCH] Elan interface add throwing NPE Issue Description: ================= Elan instance name may be null, add to ConcurrentHashMap must throw NPE ERROR | opendaylight-cluster-data-notification-dispatcher-40 | DataTreeChangeListenerActor | 235 - org.opendaylight.controller.sal-clustering-commons - 1.9.1 | member-2-shard-default-config: Error notifying listener org.opendaylight.genius.mdsalutil.cache.DataObjectCache$$Lambda$1291/872119028@32410eae java.lang.NullPointerException: null at org.opendaylight.netvirt.elan.cache.ElanInterfaceCache.added(ElanInterfaceCache.java:75) at org.opendaylight.netvirt.elan.cache.ElanInterfaceCache.added(ElanInterfaceCache.java:37) Solution: ========= Determine that the Elan instance name cannot be null before adding Change-Id: I21f2f93427aec92b708725dd41aa37cd37e7dcac Signed-off-by: zhangninglc --- .../opendaylight/netvirt/elan/cache/ElanInterfaceCache.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/cache/ElanInterfaceCache.java b/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/cache/ElanInterfaceCache.java index 20dc778c40..975885b043 100644 --- a/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/cache/ElanInterfaceCache.java +++ b/elanmanager/impl/src/main/java/org/opendaylight/netvirt/elan/cache/ElanInterfaceCache.java @@ -72,8 +72,10 @@ public class ElanInterfaceCache extends InstanceIdDataObjectCache @Override protected void added(InstanceIdentifier path, ElanInterface elanInterface) { - elanInstanceToInterfacesCache.computeIfAbsent(elanInterface.getElanInstanceName(), - key -> ConcurrentHashMap.newKeySet()).add(elanInterface.getName()); + if (null != elanInterface.getElanInstanceName() && null != elanInterface.getName()) { + elanInstanceToInterfacesCache.computeIfAbsent(elanInterface.getElanInstanceName(), + key -> ConcurrentHashMap.newKeySet()).add(elanInterface.getName()); + } } @Override -- 2.36.6