Heavy service-binding READs in scale 71/82271/1
authorFaseela K <faseela.k@ericsson.com>
Tue, 28 May 2019 08:48:32 +0000 (14:18 +0530)
committerFaseela K <faseela.k@ericsson.com>
Tue, 28 May 2019 08:48:32 +0000 (14:18 +0530)
A code refactoring post Boron has duplicated serviceInfo read
in two places, on an interface-state addition. Removing this
duplicate read.

Change-Id: Ia173452c200bbcac33728f51b7766ebf0ca17496
Signed-off-by: Faseela K <faseela.k@ericsson.com>
interfacemanager/interfacemanager-impl/src/main/java/org/opendaylight/genius/interfacemanager/servicebindings/flowbased/listeners/FlowBasedServicesInterfaceStateListener.java
interfacemanager/interfacemanager-impl/src/main/java/org/opendaylight/genius/interfacemanager/servicebindings/flowbased/state/helpers/AbstractFlowBasedServicesStateBindHelper.java

index 10cd6c370eea75c940a90987fa4e73df73da38ce..ab2668283a55ce7ef23517cf74a8305d4e1133c2 100644 (file)
@@ -102,7 +102,7 @@ public class FlowBasedServicesInterfaceStateListener extends AbstractClusteredSy
 
     @Override
     public void add(@NonNull InstanceIdentifier<Interface> instanceIdentifier, @NonNull Interface interfaceStateNew) {
-        if (interfaceStateNew.getType() == null || !entityOwnershipUtils
+        if (Other.class.equals(interfaceStateNew.getType()) || !entityOwnershipUtils
                 .isEntityOwner(IfmConstants.INTERFACE_SERVICE_BINDING_ENTITY,
                                IfmConstants.INTERFACE_SERVICE_BINDING_ENTITY)) {
             return;
index d01b05f2cb390d53061cfa954714bfff6119e5fb..00de8c5e4cf29f713c6949d2be4beceb4c644584 100644 (file)
@@ -18,12 +18,10 @@ import org.opendaylight.genius.infra.ManagedNewTransactionRunner;
 import org.opendaylight.genius.infra.ManagedNewTransactionRunnerImpl;
 import org.opendaylight.genius.infra.TypedReadWriteTransaction;
 import org.opendaylight.genius.interfacemanager.servicebindings.flowbased.state.factory.FlowBasedServicesStateAddable;
-import org.opendaylight.genius.interfacemanager.servicebindings.flowbased.utilities.FlowBasedServicesUtils;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.iana._if.type.rev170119.L2vlan;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.iana._if.type.rev170119.Tunnel;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.interfaces.rev140508.interfaces.state.Interface;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.servicebinding.rev160406.ServiceModeBase;
-import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.servicebinding.rev160406.service.bindings.ServicesInfo;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.genius.interfacemanager.servicebinding.rev160406.service.bindings.services.info.BoundServices;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -60,19 +58,8 @@ public abstract class AbstractFlowBasedServicesStateBindHelper implements FlowBa
     public final void bindServices(List<ListenableFuture<Void>> futures, Interface ifaceState,
                                    List<BoundServices> allServices, Class<? extends ServiceModeBase> serviceMode) {
         futures.add(txRunner.callWithNewReadWriteTransactionAndSubmit(CONFIGURATION, tx -> {
-            LOG.debug("binding services on interface {}", ifaceState.getName());
-            ServicesInfo servicesInfo = FlowBasedServicesUtils.getServicesInfoForInterface(tx, ifaceState.getName(),
-                    serviceMode);
-            if (servicesInfo == null) {
-                LOG.trace("service info is null for interface {}", ifaceState.getName());
-                return;
-            }
-            if (allServices == null || allServices.isEmpty()) {
-                LOG.trace("bound services is empty for interface {}", ifaceState.getName());
-                return;
-            }
-
             if (L2vlan.class.equals(ifaceState.getType()) || Tunnel.class.equals(ifaceState.getType())) {
+                LOG.debug("binding services on interface {}", ifaceState.getName());
                 bindServicesOnInterface(tx, allServices, ifaceState);
             }
         }));